delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يمكننا الرسم بـ Gdi+ في Listview
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ,,,

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

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

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

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


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

فأتجهت لتعلم 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; 
أو استخدام الحدث OnCustomDrawItem مع تعديل صغير، ثم الاستفادة من DefaultDraw.
لا حاجة لتعلم +GDI من أجل ذلك، ولا مانع من تعلمها أيضا.

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


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

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