2010-08-02 8 views
9

में इमेजलिस्ट आइटम प्रदर्शित करें मैंने 20 बिटमैप के अंदर एक इमेजलिस्ट बनाया है और ड्रॉपडाउन सूची का चयन 1 से 20 तक करता है, जब मैं ड्रॉपडाउनलिस्ट का चयन करता हूं, तो उसे ड्रॉपडाउन सूची इंडेक्स से संबंधित बिटमैप दिखाना चाहिए। मुझे समस्या का सामना करना पड़ रहा है कि जब मैं ड्रॉपडाउन सूची और छवि को बहुत छोटा करता हूं तो यह वही छवि दिखाता रहता है। इस समस्या को हल करने के लिए कोई विचार? और छवि को बड़ा बनाओ?समय

procedure TForm1.FormShow(Sender: TObject); 
var 
    i : integer; 
begin 
    for i:=0 to 20 do begin 
    cboIcon.Items.Add(inttostr(i)); 
    end; 
end; 

procedure TForm1.cboIconChange(Sender: TObject); 
begin 
    ImageList1.Draw (Image1.Canvas, 0,0, cboIcon.ItemIndex); 
end; 

उत्तर

14

आप इस कोड की कोशिश कर सकते हैं:

Image1.Stretch := true; // to make it as large as Image1 
Image1.Proportional := true; // to keep width/height ratio 
Image1.Picture.Bitmap:= nil; // clear previous image 
ImageList1.GetBitmap(cboIcon.ItemIndex, Image1.Picture.Bitmap); 
+0

आप न "इस कोड की कोशिश" करने की जरूरत है, तो आप इस कोड का उपयोग करने के लिए है !! –

+4

आप छवि 1 जोड़ना चाहेंगे। चित्र। बिटमैप: = लोड से पहले शून्य, अन्यथा यह बाद की छवियों को प्रदर्शित नहीं करेगा। –

+0

हमें पूरी चीज दिखाने के लिए इसे संपादित करना चाहिए। किया हुआ। –

संबंधित मुद्दे