![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программное нажатие на SpedButton
DroNIX © (2005-10-05 21:47:00)Я сделал так:
procedure Tmin_form.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key in ['a'..'z','A'..'Z'] then
with main_form do
begin
TbsSkinSpeedButton(FindComponent(key+'_button')).Perform(WM_LBUTTONDOWN, 0, 0);
TbsSkinSpeedButton(FindComponent(key+'_button')).Perform(WM_LBUTTONUP, 0, 0);
end;
end;
Но кнопка остаётся подсвеченой (как бы на ней курсор наведён), down, repain не помогают.
Что добавить?
DroNIX (2005-10-06 18:09:00) [1]CM_MOUSELEAVE
это помогло.
DroNIX (2005-10-06 10:46:00) [2]Да был бы это простой SpeedButton было бы легче, но этот иz DynamicSkinForm VCL.
Они забыли наверно что-то добавить, там даже .Click нету
Германн (2005-10-06 00:35:00) [3]2 Eleepod © (05.10.05 23:50) [4]
Дык у тебя TSpeedButton, а у него что за зверь? ХЗ :(
Eleepod (2005-10-05 23:50:00) [4]Хм, попробовал у себя так
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key in ['0'..'9']
then with Form1 do
begin
TSpeedButton(FindComponent('SpeedButton' + key)).Perform(WM_LBUTTONDOWN, 0, 0);
TSpeedButton(FindComponent('SpeedButton' + key)).Perform(WM_LBUTTONUP, 0, 0);
end;
end;
все норамально работает...
Alexander Panov (2005-10-05 22:41:00) [5]Еще проще -
SpeedButton1.Click;
илиTSpeedButton(FindComponent('SpeedButton1')).Click;
DroNIX (2005-10-05 22:36:00) [6]ну у меня 26 кнопок, поэтому так сложно :)
У меня не работает, остаётся подсеченной, курсор к ней подводишь, потом уводишь, и только тогда перетаёт гореть
Eleepod (2005-10-05 22:15:00) [7]Зачем так сложно?
Вполне работает
SpeedButton1.Perform(WM_LBUTTONDOWN, 0, 0);
SpeedButton1.Perform(WM_LBUTTONUP, 0, 0);