رسم TBitmap في مكون TComboBox
#2
وعليكم السلام ورحمة الله وبركاته
جيد أنك وضحت السؤال Smile
شيء مثل هذا:
كود :
ComboBox1.Brush.Bitmap := Image1.Picture.Bitmap;
لكن...
الرسم في مثل هذه المكونات يتم باستخدام حدث مخصص لذلك
في المكون TComboBox هنا حدث يدعى OnDrawItem يستخدم لتخصيص شكل معين للـ Combo
بعد ضبط خاصية Style على csOwnerDrawVariable لتعلن أنك أنت من سيقوم بالرسم في المكون
اكتب في الحدث OnDrawItem للـ TComboBox:
PHP كود :
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  
Rect: TRect; State: TOwnerDrawState);
var
  
Bitmap: TBitmap;
  
Offset: Integer;
begin
  offset 
:= 0;
  
with ComboBox1.Canvas do
  
begin
    FillRect
(Rect);
    
Bitmap := TBitmap(Image1.Picture.Bitmap);
    if 
Bitmap <> nil then
    begin
      
//copy bitmap to combobox coordinate
      
BrushCopy(Bounds(Rect.Left + 2, Rect.Top + 2, Bitmap.Width,
        
Bitmap.Height), Bitmap, Bounds(0, 0, Bitmap.Width,
        
Bitmap.Height), clred);
      
Offset := Bitmap.Width + 8;
    
end;
    
//Set a caption to each item
    
TextOut(Rect.Left + Offset, Rect.Top, Combobox1.Items[Index]);
  
end;
end; 
حيث Image1 هي صورة محضرة مسبقا
أو استبدل السطر:
كود :
Bitmap := TBitmap(Image1.Picture.Bitmap);
بالسطر:
PHP كود :
Bitmap.LoadFromFile('c:\YourImage.bmp'); 
لاستخدام صورة من جهازك.

المرة القادمة إطرح سؤال في موضوع مستقل لأنه غير مشابه لهذا Smile
بالتوفيق.
الرد


الردود في هذا الموضوع
رسم TBitmap في مكون TComboBox - بواسطة m_m_saad - 21-07-2010, 01:59 PM
رسم TBitmap في مكون TComboBox - بواسطة kachwahed - 21-07-2010, 03:04 PM
رسم TBitmap في مكون TComboBox - بواسطة m_m_saad - 21-07-2010, 03:13 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم