Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Нажатие кнопки мыши

Автор: Fanat 27.12.2007 0:15

Как описать событие которое должно рабатывать при нажатии кнопки мыши в окне формы?..
Если написать через OnMouseDown на форме то не отрабатывает при нажатии на любую кнопку...
а в задумке должно...и событие для каждого компонента отдельно писать не хочеться...(да и не нужно наверно)..

Автор: volvo 27.12.2007 0:51

Не понял, а что ты хочешь чтоб делалось при нажатии на кнопку на форме? И фиксировалось событие нажатия (где-то централизованно) И нажималась кнопка?

Автор: Fanat 27.12.2007 1:07

Цитата(volvo @ 26.12.2007 20:51) *

Не понял, а что ты хочешь чтоб делалось при нажатии на кнопку на форме? И фиксировалось событие нажатия (где-то централизованно) И нажималась кнопка?


Да, именно так...

Автор: volvo 27.12.2007 1:18

Используй ApplicationEvents:

void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg, bool &Handled)
{
switch(Msg.message) {
case WM_LBUTTONDOWN:
{
Memo1->Lines->Add("Left mouse button pressed...");
break;
}
}
}

(Handled не установлен в true - сообщение "пропускается" дальше)...

Автор: Fanat 27.12.2007 1:49

Создал новый проект...вставил туда эту функцию...описал её в TForm1...сохранил...щелкую...ничего не происходит...(Handled = false, нашёл в примере....на так тоже ничего не происхожит)... nea.gif

Автор: volvo 27.12.2007 2:01

Ты ApplicationEvents положил на форму? И что, ничего не появляется в Memo?

Автор: Fanat 27.12.2007 2:05

Цитата(volvo @ 26.12.2007 22:01) *

Ты ApplicationEvents положил на форму? И что, ничего не появляется в Memo?


Во...спасибо...не положил...да и ещё надо была два раза по нему чтобы он её признал..