الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارسم صور داخل StatusBar

مغلق
بدأه madi في 10 يناير 2002 · 0 رد · 1,366 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1

سلام

لو اردت رسم صورة او مجموعة صور داخل StatusBar فاتبع التالي

- ضع StatusBar على الفورم . اضغط ضغط ممتالى عليه لتظهر لك قائمة العناصر , قم باضافة تلات عناصر , وفي كل مرة تضيف فيها عنصر قم بتعديل الخاصية style لكل عنصر و ضعها = psOwnerDraw بدل psText.

- ضع imagelist على الفورم تم قم باضافة تلات صور له ,

سنحتاج الى تعريف المصفوفة message1 ودلك لتخزين اسما عناصر StatusBar التي ستضهر بجانب كل صورة .

لتغيير الصور لكل عنصر سنستخدم الامر

Imagelist1.Draw(StatusBar1.Canvas,Rect.Left,Rect.Top,0);

ويتم استخدامها داخل الحدت DrawPanel الخاص ب StatusBar

الان اليك البرنامج كاملا

 



unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  ComCtrls, ImgList;



type

  TForm1 = class(TForm)

    StatusBar1: TStatusBar;

    ImageList1: TImageList;

    procedure StatusBar1DrawPanel(StatusBar: TStatusBar;

      Panel: TStatusPanel; const Rect: TRect);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;

 message1: array[0..10] of string;

implementation



{$R *.DFM}









procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;

  Panel: TStatusPanel; const Rect: TRect);

begin

    with StatusBar1.Canvas do

    begin



    Brush.Color :=	clSilver;

    FillRect(Rect);

    Font.Color := clblack;

    Imagelist1.Draw(StatusBar1.Canvas,Rect.Left,Rect.Top,Panel.Index);

    TextOut(Rect.left + 20, Rect.top + 2,Message1[Panel.Index]);

    End;



end;





procedure TForm1.FormCreate(Sender: TObject);

begin

 message1[0]:='Item1 ';

 message1[1]:='Item 2';

 message1[2]:='Item 3';



end;









end.

وشكرا

madi

هذا الموضوع مغلق.

مواضيع مشابهة