delphi4arab منتديات دلفي للعرب
كيف يمكننا الرسم بـ Gdi+ في Listview - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يمكننا الرسم بـ Gdi+ في Listview (/showthread.php?tid=4740)



كيف يمكننا الرسم بـ Gdi+ في Listview - M_Mori2010 - 22-11-2012

السلام عليكم ورحمة الله وبركاته ,,,

أخوتي الكرام ,,

كيف يمكننا الرسم بأستخدام GDI+ قي Listview هل من شرح بسيط ؟

جزاكم الله كل خير


كيف يمكننا الرسم بـ Gdi+ في Listview - kachwahed - 22-11-2012

وعليكم السلام ورحمة الله وبركاته

إقتباس :كيف يمكننا الرسم بأستخدام GDI+ قي Listview هل من شرح بسيط ؟
تحديدا لا أعرف!
هناك مكتبات تمكنك من استغلال +GDI
كود :
http://www.bilsen.com/gdiplus/index.shtml http://sourceforge.net/projects/igdiplus/ http://www.torry.net/vcl/graphics/other/GDIControls.zip


هل ممكن تخبرنا بما تحاول صنعه؟ ربما نجد حلا آخر.



كيف يمكننا الرسم بـ Gdi+ في Listview - M_Mori2010 - 22-11-2012

أخي الكريم الذي احاول صنعه سبق وسألت عنه وهو التظليل حول الاسم لكن تواجهني مشكلة حيث ان عند تفعيل Owner Drow لايمكنني التحديد في ListView هذا رقم واحد ورقم اثنان لايقوم بأضافة الرموز المعدة مسبقاً

فأتجهت لتعلم GDI ممكن ان يكون منها فائدة بأشياء اخرى جزاك الله كل خير


كيف يمكننا الرسم بـ Gdi+ في Listview - kachwahed - 23-11-2012

إذا المشكلة هي:
إقتباس :ان عند تفعيل 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 - M_Mori2010 - 23-11-2012

شكراً لك اخي لكن لا فائدة يوجد بعض المشاكل والاخطاء في الكود حتى الان سأنهي باقي الامور ومن ثم اعود له لايأس مع الحياة ولا حياة مع اليأس

جزاك الله كل خير