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

How Can I Add OnClick Property on TShape

مغلق
بدأه 02/11/2004 في 9 نوفمبر 2004 · 10 رد · 758 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

احتاج مساعدتكم يا اخوان لأضافة حدث OnClick لــ Shape

علمآ اني ابنية في الرن تايم

ولقد وجدت خاصية الـ OnClick في الشيب لكنها لم تفعل ... !

و ان امكن اضافة خاصية جديدة لتخزين String ... اكون من الشاكرين .. : )

تحياتي لكم

#2

السلام عليكم

عليك بتكوني TShape خاص بك وتضيف له تلك الخاصية .

Create a new component .

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#3

السلام عليكم

unit Shapem;

interface

uses

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

type

TShapem = class(ExtCtrls.TShape)

private

{ Private declarations }

protected

{ Protected declarations }

Procedure Paint;override;

procedure CFOntChanged(Var Msg: TMessage);message CM_FONTCHANGED;

procedure CTextchanged(Var Msg :Tmessage);message CM_TEXTCHANGED;

public

{ Public declarations }

published

property OnClick;

Property Caption;

Property Font;

// properTy Url;

end;

{ Published declarations }

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Jawad', [TShapem]);

end;

procedure TShapem.CFontChanged(var Msg: TMessage);

begin

inherited;

Invalidate;

end;

procedure TShapem.CTextChanged(var Msg: TMessage);

begin

inherited;

Invalidate;

end;

procedure TShapem.Paint;

var

R: TRect;

begin

inherited;

Canvas.Font.Assign(Font);

R := ClientRect;

DrawText(Canvas.Handle, PChar(Caption), -1, R, DT_VCENTER or

DT_CENTER or DT_SINGLELINE);

end;

end.

[/cdoe]

ضعها في unit جديدة سميها ياللي عايزه

You used to struggle with C++ libraries for Windows, and Delphi was and still is the best combination of object-oriented programming and visual programming for Windows

#4

بارك الله فيكم ... والف شكر

هذا هو المطلوب وزيادة ......... شكرآ استاذي جواد

#5

Jawad :

Well ,you had given a fried fish

:)

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#6

هههههههههه والله يا اخوي tmaaa اني عارف انك بتجيب طاري السمكة

لكن وش تبيني اعمل ... وانا قاعد اجهز سنارتي وعدة الصيد الأخ جواد

رما على السمكة : ) الله يكثر خيرة ... وعيب اردة ... : )

#7

معلش tmaaa

احيانا بشعر ان ايداي يصيبها الصدء لو ماكتبت شي بدلفي

مش احسن مانقعد نتصدع في java و c++ :)

تلميذك رضا :D

مرقها المرة هي /

تم تعديل هذه المشاركة بواسطة Jawad في 9 نوفمبر 2004 في 19:14

You used to struggle with C++ libraries for Windows, and Delphi was and still is the best combination of object-oriented programming and visual programming for Windows

#8

شو ..... حابك صيد السمك ......

ملاحظة :

كلام الأخوة جيد ... لكنك لست مضطر لبناء مكون جديد .

تستطيع نسب الحدث ديناميكيا في زمن التشغيل :

نصمم أولا إجراء من الشكل (هذا هو الذي سيصبح OnClick):

procedure TForm1.hi(Sender: TObject);
begin
showmessage('Hello World … ');
end;

ثم ننسبة في زمن التشغيل بالشكل :

procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick:=hi;
end;

لست مضطر أيضا لإنشاء مكون جديد من أجل إضافة خاصية نصية , إستخدم حصائص الRun Time

مثال :

في قسم Type أضف :

T= class(TShape)

 private
    FStr: string;

  published

property Str:string  read FStr write FStr;

end;

تم تعديل هذه المشاركة بواسطة ORWA في 9 نوفمبر 2004 في 21:01

#9

السلام عليكم

Jawad :

انا عارف انه انت , بس حبيت امزح معاك .

02/11/2004:

حلوة :) , مرة ثانية جهز عدة الصيد بدري عشان تصطاد بنفسك :P (امزح معاك) .

ORWA :

TShape لا يملك Onclick Method .

في حالة TButton لا مشكله ...

طبعا طريقتك في اضافة خاصية اثناء runtime جيدة لكن هكذا ستضطر في كل برنامج اضافتها و ميزة عمل مكون جديد هو انك لن تضطر كل مرة لكتابة الكود من جديد . وفكرة تطوير المكونات هي لنفس الغرض والا لكنا نستعمل المكون الموجود حاليا ونغير في خصائصه on runtime .

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#10

السلام عليكم

var
i,Thanks : integer;
begin
Thanks := 1000;
for i := 1 to Thanks do
  begin
  showmessage('ORWA,tmaaa,Jawad الف شكر لكم ');
end;
end;

:)

#11

شكرا tmaaa ...

أعلم أن بناء المكون أفضل للمدى البعيد ,, لكن كنت أحاول أن أستجيب للسؤال .

لاحظ عبارة أخونا 2/11/2004 :

اقتباس
علمآ اني ابنية في الرن تايم

(لم أنتبة أن TShape لايملك OnClick أعذروني )

2/11/2004 شكرا لهذه الخوارزمية الشكرية المميزة ... (ملعـــــــــووووووووووووبه )

تم تعديل هذه المشاركة بواسطة ORWA في 10 نوفمبر 2004 في 20:54

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

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