نمایش نتایج 1 تا 6 از 6

نام تاپیک: تشخیص اینکه کاربر کدام دکمه را فشار داده

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    158

    تشخیص اینکه کاربر کدام دکمه را فشار داده

    با سلام
    لطفا بگین چطور روی یک فرم تشخیص بدم که کاربر کدوم دکمه (Button) رو فشار داده؟

    خیلی متشکرم

  2. #2
    کاربر دائمی آواتار arshia_
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران-شهر فرزانگان( بروجرد )
    پست
    1,226
    اگر کدهای صفحه کلید رو بلدی کافیه که توی قسمت keydown یه کد بنویسی تا چک کنه چه دکمه ای فشار داده شده و با توجه به دبکمه مورد نظر عملیات لازم انجام بشه
    مثلا کد دکمه enter=#13

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    158
    سلام
    خیلی ممنون
    ولی منظورم دکمه های صفحه کلید نبود.
    دکمه هایی که موقع طراحی فرم روی فرم می ذاریم. همون دکمه های Button خودمون.
    می خواستم ببینم که تابعی چیزی هست که دکمه فشرده رو برگردونه؟
    آخه اینجوری نوشتن برنامه راحت تره...! :wink: :thnx:

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران
    پست
    133

    دکمه!

    توضیحاتتون کافی نیست

    ولی در هر حال هر دکمه که فشرده میشه رویداد خاص خودش رو اجرا می‌کنه و پارامتر Sender اشاره‌گری است به آن دکمه. با توجه به خصوصیات این Sender می‌تونید به هدفتون برسید.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران
    پست
    133

    مثال

    روی یه فرم سه دکمه داریم و میخوایم هر بار که یه دکمه فشرده شد، مثلاً Caption اون دکمه خاص عوض بشه!
    کافی این کد را برای رویداد کلیک یکی از اونا بنویسی

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    (sender as TButton).Caption:='I found you';
    end;

    و رویداد کلیک مابقی رو هم روی همین دکمه تنظیم کنی. همین!

  6. #6
    کاربر دائمی
    تاریخ عضویت
    دی 1382
    محل زندگی
    پشت كامپيوتر
    پست
    381
    از 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;

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •