با سلام
لطفا بگین چطور روی یک فرم تشخیص بدم که کاربر کدوم دکمه (Button) رو فشار داده؟
خیلی متشکرم
با سلام
لطفا بگین چطور روی یک فرم تشخیص بدم که کاربر کدوم دکمه (Button) رو فشار داده؟
خیلی متشکرم
اگر کدهای صفحه کلید رو بلدی کافیه که توی قسمت keydown یه کد بنویسی تا چک کنه چه دکمه ای فشار داده شده و با توجه به دبکمه مورد نظر عملیات لازم انجام بشه
مثلا کد دکمه enter=#13
سلام
خیلی ممنون
ولی منظورم دکمه های صفحه کلید نبود.
دکمه هایی که موقع طراحی فرم روی فرم می ذاریم. همون دکمه های Button خودمون.
می خواستم ببینم که تابعی چیزی هست که دکمه فشرده رو برگردونه؟
آخه اینجوری نوشتن برنامه راحت تره...! :wink: :thnx:
توضیحاتتون کافی نیست
ولی در هر حال هر دکمه که فشرده میشه رویداد خاص خودش رو اجرا میکنه و پارامتر Sender اشارهگری است به آن دکمه. با توجه به خصوصیات این Sender میتونید به هدفتون برسید.
روی یه فرم سه دکمه داریم و میخوایم هر بار که یه دکمه فشرده شد، مثلاً Caption اون دکمه خاص عوض بشه!
کافی این کد را برای رویداد کلیک یکی از اونا بنویسی
procedure TForm1.Button1Click(Sender: TObject);
begin
(sender as TButton).Caption:='I found you';
end;
و رویداد کلیک مابقی رو هم روی همین دکمه تنظیم کنی. همین!
از sender هم می توانی ولی اگر می خواهی از message ها استفاده کنی از کامپوننت ApplicationEvents بدین شکل استفاده کن
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message=WM_LBUTTONUP then
if Msg.hwnd = Button1.Handle then
ShowMessage('Button1 Clicked')
else
if Msg.hwnd = Button2.Handle then
ShowMessage('Button2 Clicked')
else
if Msg.hwnd = Button3.Handle then
ShowMessage('Button3 Clicked')
end;