PDA

View Full Version : سوال: چگونه می توان کاری کرد که دکمه اسپید باتون هم با زدن تب انتخاب شود



farhadkarimi
چهارشنبه 22 شهریور 1391, 09:11 صبح
با سلام
لطفا راهنماییم کنید
چگونه می توان کاری کرد که دکمه اسپید باتون هم با زدن تب انتخاب شود؟

کامروا
چهارشنبه 22 شهریور 1391, 11:13 صبح
پروسیجر و متغیر زیر رو معرفی کنید :


procedure Tab_Key(var Msg: TCMDialogKey); message CM_DIALOGKEY;

Var
Catch: Boolean;


سپس پروسیجر رو تعریف کنید :


procedure TForm1.Tab_Key(var Msg: TCMDialogKey);
begin
if (Msg.CharCode <> VK_TAB) or (not Catch) then
inherited;
end;


در خاصیت OnCreate فرم :


procedure TForm1.FormCreate(Sender: TObject);
begin
Catch := True;
Form1.KeyPreview := True;
end;


و در نهایت :


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_TAB then
SpeedButton1.Click;
end;


موفق باشید

farhadkarimi
چهارشنبه 22 شهریور 1391, 17:10 عصر
پروسیجر و متغیر زیر رو معرفی کنید :


procedure Tab_Key(var Msg: TCMDialogKey); message CM_DIALOGKEY;

Var
Catch: Boolean;


سپس پروسیجر رو تعریف کنید :


procedure TForm1.Tab_Key(var Msg: TCMDialogKey);
begin
if (Msg.CharCode <> VK_TAB) or (not Catch) then
inherited;
end;


در خاصیت OnCreate فرم :


procedure TForm1.FormCreate(Sender: TObject);
begin
Catch := True;
Form1.KeyPreview := True;
end;


و در نهایت :


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_TAB then
SpeedButton1.Click;
end;


موفق باشید

ممون ولی منظورم اینه که اگر چندتا دکمه اسپید باتون داشته باشیم و بخواهیم با تب بین آنها حرکت کنیم و با زدن کلید اینتر دکمه فعال شود چکار کنم ممنون اگر راهنماییم کنید

BORHAN TEC
چهارشنبه 22 شهریور 1391, 17:55 عصر
سلام

ممون ولی منظورم اینه که اگر چندتا دکمه اسپید باتون داشته باشیم و بخواهیم با تب بین آنها حرکت کنیم و با زدن کلید اینتر دکمه فعال شود چکار کنم ممنون اگر راهنماییم کنید
دوست عزیز، از آنجایی که TSpeedButton از کلاس TGraphicControl مشتق شده است فوکوس دریافت نمی کند و انجام این کار در حالت عادی امکان پذیر نیست. برای حل این مشکل شما یا باید این کامپوننت را دوباره طراحی کنید و یا باید از کامپوننت های دیگری استفاده کنید.

موفق باشید...