Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.038 c
2-1191334493
alles
2007-10-02 18:14
2007.10.28
Вопрос по TForm


1-1187252176
Gbp
2007-08-16 12:16
2007.10.28
Как заставить нормально работать форму в службе (service?


3-1182402966
Xmen
2007-06-21 09:16
2007.10.28
TreeView и данные из таблицы


6-1171023506
Alek_1
2007-02-09 15:18
2007.10.28
Как определить хендл открытого удаленного подключения к ине...


2-1191311740
tmp
2007-10-02 11:55
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский