Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.28;
Скачать: CL | DM;

Вниз

нажатие   Найти похожие ветки 

 
Pacific   (2007-10-02 22:53) [0]

Здравствуйте! Как сделать чтоб при нажатии ctr+enter нажималась кнопка form2.button1 ?


 
tesseract ©   (2007-10-02 23:06) [1]

Смотри HotKey или OnKeyDown.


 
korneley ©   (2007-10-02 23:09) [2]

На OnKeyPress при символе #10 проверять GetKeyState(VK_LCONTROL) or GetKeyState(VK_RCONTROL) и при успехе вызывать form2.button1Click(button1). Или тебе надо чтобы реально кнопка нажалась-отжалась?


 
Pacific   (2007-10-02 23:13) [3]

Надо чтобы нажалась и отжалась
Как в icq


 
Pacific   (2007-10-02 23:14) [4]

и чтоб после этого курсов был в форме memo2 :)


 
Pacific   (2007-10-02 23:15) [5]

*курсор


 
tesseract ©   (2007-10-02 23:21) [6]


> OnKeyPress


Он перестал жечь #13 ? Для Enter вроде OnKeyDown нужен.


> и чтоб после этого курсов был в форме memo2 :)


Memo2.SetFocus.


 
korneley ©   (2007-10-02 23:23) [7]

Button2.Perform(WM_LBUTTONDOWN, 0, 0);
 sleep(500);
 Button2.Perform(WM_LBUTTONUP,0, 0);

Это если проверка Ctrl состоялась


 
korneley ©   (2007-10-02 23:25) [8]


> ...На OnKeyPress при символе #10...

#13, конечно же :)


 
tesseract ©   (2007-10-02 23:28) [9]


> #13, конечно же :)


А если он нажат не в фокусе контрола ? А там в фокусе кнопки ?


> Button2.Perform(WM_LBUTTONDOWN, 0, 0);  sleep(500);  Button2.
> Perform(WM_LBUTTONUP,0, 0);Это если проверка Ctrl состоялась


Кулхацкер, доки нам не писаны.


 
Pacific   (2007-10-02 23:32) [10]

GetKeyState(VK_LCONTROL) чет я не прикололся


 
korneley ©   (2007-10-02 23:33) [11]

Не, ну автор ничего не сказал об интерфейсе кроме "нажать кнопку"... Почему бы и не послать ей (кнопке) сообщения мыши?


 
tesseract ©   (2007-10-02 23:35) [12]


> GetKeyState(VK_LCONTROL) чет я не прикололся


onkeydown - полушь ты свой VK_ENTER + другое.


 
korneley ©   (2007-10-02 23:36) [13]


> Pacific   (02.10.07 23:32) [10]
> GetKeyState(VK_LCONTROL) чет я не прикололся
Ну тогда сам лови на OnKeyUp/Down и запоминай положение Control


 
korneley ©   (2007-10-02 23:37) [14]


> onkeydown - полушь ты свой VK_ENTER + другое.
А, блин, ночно! Там же еще ShiftState приходит :)


 
korneley ©   (2007-10-02 23:38) [15]

ночно = точно


 
tesseract ©   (2007-10-02 23:40) [16]

VK_RETURN он вроде, щас лень  вспоминать.


 
korneley ©   (2007-10-02 23:45) [17]


> VK_RETURN он вроде, щас лень  вспоминать
Дык, все равно 13, со времен DOS - a, типа скан-код.


 
korneley ©   (2007-10-02 23:52) [18]


> Кулхацкер, доки нам не писаны
Кстати, а почему? (в-смысле кул... :) Как еще программно нажать кнопку TButton? Без отсылки сообщений? Я в полнейших косяках :)))


 
Плохиш ©   (2007-10-03 01:33) [19]


> Как еще программно нажать кнопку TButton?

"Кнопка нажмись! Раз-два!"

Button1.Click


 
korneley ©   (2007-10-03 01:53) [20]


> "Кнопка нажмись! Раз-два!"Button1.Click
Неее!!! Ему надо, чтобы вглюч/отглюч на форме видно было, во как!


 
Плохиш ©   (2007-10-03 01:56) [21]


> korneley ©   (03.10.07 01:53) [20]
>
> > "Кнопка нажмись! Раз-два!"Button1.Click
> Неее!!! Ему надо, чтобы вглюч/отглюч на форме видно было, во как!

Если кнопка по клику мышки будет визуально нажиматься/отжиматься, то и при вызове метода Click будет тоже самое...


 
korneley ©   (2007-10-03 02:01) [22]


> Плохиш ©

> Если кнопка по клику мышки будет визуально нажиматься/отжиматься,
>  то и при вызове метода Click будет тоже самое...
А вот и нет. Событие - да, вызовется, а вот прорисоваться в даун/ап - извольте. Проверено в D7.


 
{RASkov} ©   (2007-10-03 02:15) [23]

procedure TForm1.Button2Click(Sender: TObject);
begin
 SendMessage(Button1.Handle, BM_SETSTATE, 1, 0);
 Sleep(100);
 SendMessage(Button1.Handle, BM_SETSTATE, 0, 0);
 Button1.Click;
end;


 
korneley ©   (2007-10-03 02:25) [24]


> {RASkov} ©   (03.10.07 02:15) [23]
А чем лучше  [7] - го варианта? И все равно через сообщения.


 
{RASkov} ©   (2007-10-03 02:39) [25]

> [24] korneley ©   (03.10.07 02:25)
> А чем лучше  [7] - го варианта? И все равно через сообщения.

Ну немного разное, вообще-то, поведение, но в данном случае ничем не отличается, но тоже как вариант....
Например способ [23] там нет имитации мыши сообщениями... Клик идет следом методом(процедурой) самой кнопки...
А сообщениями идет именно "утопление" кнопки....
и вся, в общем-то, разница.)


 
{RASkov} ©   (2007-10-03 02:55) [26]

> [10] Pacific   (02.10.07 23:32)
> GetKeyState(VK_LCONTROL) чет я не прикололся

Да ладно.... "дурь" отменная... с F1 ваще улет)


 
Dmitry S   (2007-10-03 04:22) [27]


> Sleep(100);

Это же на целых 100 мс прога зависнет... ИМХО надо в потоке делать!

procedure UpDownButtonProc(ButtonHandle:THandle);stdcall;
begin
 SendMessage(ButtonHandle, BM_SETSTATE, 1, 0);
 Sleep(100);
 SendMessage(ButtonHandle, BM_SETSTATE, 0, 0);
 SendMessage(ButtonHandle, BM_CLICK, 0, 0);
 ExitThread(0);
end;

procedure UpDownButton(ButtonHandle:THandle);
var c:Cardinal;
begin
 CreateThread(nil, 0, @UpDownButtonProc, Pointer(ButtonHandle), 0, c);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
UpDownButton(Button1.Handle);
end;

:)



Страницы: 1 вся ветка

Текущий архив: 2007.10.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.063 c
15-1190990492
chief
2007-09-28 18:41
2007.10.28
CommSQ - ищу программистов для реализации OpenSource-проекта


2-1191923774
новый_
2007-10-09 13:56
2007.10.28
ValueListEditor и ComboBox


15-1191183624
SergejSim
2007-10-01 00:20
2007.10.28
Приглашаем добровольцев на Легендарный проект TTD


3-1182494640
malor
2007-06-22 10:44
2007.10.28
Свойства RequestLive и ShowRecordTypes в ZeosDBO-6.1.5-stable


15-1191497367
Crazybobr
2007-10-04 15:29
2007.10.28
Таможенный ставки для чайника. Просьба помочь.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский