23-11-2012, 03:28 PM
إذا المشكلة هي:
السبب ليس في OwnerDraw، السبب لأننا أعدنا رسم العناصر Items بالكامل ولم نقم باسترجاع الرسم الأصلي
يمكننا تعديل DrawItem بشيء مثل:
أو استخدام الحدث OnCustomDrawItem مع تعديل صغير، ثم الاستفادة من DefaultDraw.
لا حاجة لتعلم +GDI من أجل ذلك، ولا مانع من تعلمها أيضا.
انظر:
بالتوفيق.
إقتباس :ان عند تفعيل 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;
لا حاجة لتعلم +GDI من أجل ذلك، ولا مانع من تعلمها أيضا.
انظر:
كود :
http://www.delphidabbler.com/articles?article=16
http://www.delphipages.com/forum/archive/index.php/t-71793.htmlبالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...

