كيف يمكننا الرسم بـ Gdi+ في Listview
#4
إذا المشكلة هي:
إقتباس :ان عند تفعيل Owner Drow لايمكنني التحديد في ListView

السبب ليس في OwnerDraw، السبب لأننا أعدنا رسم العناصر Items بالكامل ولم نقم باسترجاع الرسم الأصلي

يمكننا تعديل DrawItem بشيء مثل:
PHP كود :
procedure TForm1.ListView1DrawItem(Sender: TCustomListView;
  
Item: TListItem; Rect: TRect; State: TOwnerDrawState);
begin
    
if not (odSelected in State) then
      Basic_Text3D
(Item.Caption, Item.ListView.Canvas, Rect.TopLeft, clWindowText)
    else 
begin
      Item
.ListView.Canvas.FillRect(Rect);
      
Item.ListView.Canvas.TextOut(Rect.Left, Rect.Top, Item.Caption);
    
end;
end; 
أو استخدام الحدث OnCustomDrawItem مع تعديل صغير، ثم الاستفادة من DefaultDraw.
لا حاجة لتعلم +GDI من أجل ذلك، ولا مانع من تعلمها أيضا.

انظر:
كود :
http://www.delphidabbler.com/articles?article=16 http://www.delphipages.com/forum/archive/index.php/t-71793.html


بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد


الردود في هذا الموضوع
كيف يمكننا الرسم بـ Gdi+ في Listview - بواسطة kachwahed - 23-11-2012, 03:28 PM

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


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