ايران ويج

نسخه‌ی کامل: ساختن Label در فرم!
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با عرض سلام و خسته نباشد خدمت دوستان عزیز. Biggrin

یک سئوالی داشتم این که چه شکلی این کار زیر انجام بدم؟؟؟

من یک فرم دارم و یک دکمه فقط همین بعد می خواهم وقتی روی دکمه کلیک کردم یک Label روی فرم به مختصات دلخواه که کجای فرم باشه ایجاد کنم.
بعد وقتی روی Label ایجاد شده دو بار کلیک کردم یک پیغام چاپ کنه (منظورم رویداد دو بار کلیک چطوری براش بنویسم).

بعد از این که ساختم می خواهم روی یکی از تب های PageControl1 قرار بگیره.

با تشکر فراوان از شما دوستان عزیز. Heart
خب مهندس شما که گفتی فقط یه دکمه رو فورم هست پس این page control1 از کجا اومد؟ :d
همون اول لیبل رو بزار رو page control

کد زیر رو ببین

کد:
private
  procedure dblclick(sender:TObject);

procedure TForm1.dblclick(sender:TObject);
begin
  ShowMessage((sender as TLabel).Caption);
end;

procedure TForm1.btn1Click(Sender: TObject);
var
lbl:TLabel;
begin
lbl:=TLabel.Create(self);
lbl.Parent:=ts2;
lbl.Caption:='lord_viper';
lbl.Top:=100;
lbl.Left:=300;
lbl.Width:=55;
lbl.Height:=30;
lbl.OnDblClick:=DblClick;
end;
برای قرار دادن رویداد برای یک کامپوننت در زمان اجرا باید یک تابع مشابه تابع اون رویداد(البته از لحاض پارامتر)بسازی بعد اونو به اون رویداد بدی مثل تابع DblClick که به رویداد OnDblClick لیبل چسبانده شد
سلام
شرمنده این تاپیک رو مجدد آوردم بالا
چند تا سوال دارم
فرض توسط تابه
کد:
procedure TForm1.btn1Click

شما چندین لیبل ساختید.
حالا چه طور میشه در زمان RunTime برای هر کدوم از لیبل ها یه event( مثل رویداد کلیک) تعریف کرد؟؟
چه طور میشه  کاری کرد که event  تمام کلیدها ساخته شده یکسان باشه؟

فرض کنید که 10 تا لیبل ( یا shape) ساختید ، چطور میشه که رویداد حرکت تمامی لیبل ها رو ایجاد کرد؟چطور میشه یه تابع رو برای چندتا از رویداد ها اختصاص داد؟؟؟)

من یه سوال اینجاپرسیدم اما تا به الان کسی  جواب نداده
(البته جواب رو پیدا کردم اما سوال ، سوال میاره)
.
.
.
می خوام زمانی که چندتا shape در زمان runtime ساختم بتونم هر کدوم رو جداگانه حرکت بدم؟؟
با کد زیر


کد:
private
  procedure dblclick(sender:TObject);

procedure TForm1.dblclick(sender:TObject);
begin
  ShowMessage((sender as TLabel).Caption);
end;



procedure TForm1.btn1Click(Sender: TObject);
var
lbl:TLabel;
begin
lbl:=TLabel.Create(self);
lbl.Parent:=ts2;
lbl.Caption:='lord_viper';
lbl.Top:=100;
lbl.Left:=300;
lbl.Width:=55;
lbl.Height:=30;


lbl.OnDblClick:=DblClick;


end;

در اینجا رویداد به دابل کلیک (lbl.OnDblClick:=DblClick;)اضافه شده شما میتونین تغییرش بدین به OnClick

و میتونین کلید زیر رو در گوگل جستجو کنید

assign event dynamic object delphi
توی گوگل سرچ کنی کلی مطلب میاره