Посылка сообщения окну

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Посылка сообщения окну

Сообщение grigoreo » 24.03.2009 12:50:24

Кто нибудь знает как в Lazaruse реазизовать вот такое , но желательно чтобы предложеный метод и под виндой и линуксом тоже работал

SendMessage(Self.Handle,WM_NEXTDLGCTL,0,0);
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Посылка сообщения окну

Сообщение Павел Ишенин » 26.03.2009 19:54:50

Послать сообщение само по себе не сложно (подключите LCLIntf и используйте SendMessage), но кто его будет обрабатывать? Если это ваш собственный диалог, то добавьте обработчик этого сообщения и напишите реализацию. Если вы хотите, чтобы WM_NEXTDLGCTL отработало под linux для системного диалога, то увы - lazarus не эмулирует windows.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Посылка сообщения окну

Сообщение alexs » 26.03.2009 21:06:56

а что делает это сообщение? если выбор следующего контрола по порядку обхода - то просто метод SelectNext
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Посылка сообщения окну

Сообщение grigoreo » 27.03.2009 09:14:16

alexs писал(а):а что делает это сообщение? если выбор следующего контрола по порядку обхода - то просто метод SelectNext


да это сообщение в Виндовс эмулировало нажатие кнопки Tab, поэтому мне и нужен вариант чтобы такой код обрабатывался и в Виндовсе и в других поддерживаемых Фрее Паскалем платформах в частности в Линуксе
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Посылка сообщения окну

Сообщение Attid » 27.03.2009 09:58:35

grigoreo
могу только посоветовать посмотреть исходники xneur как он там это делает.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Посылка сообщения окну

Сообщение Павел Ишенин » 27.03.2009 16:27:45

grigoreo писал(а):да это сообщение в Виндовс эмулировало нажатие кнопки Tab, поэтому мне и нужен вариант чтобы такой код обрабатывался и в Виндовсе и в других поддерживаемых Фрее Паскалем платформах в частности в Линуксе


Если так и нужно только для lazarus форм, то SomeForm.PerformTab() не подойдет?
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Посылка сообщения окну

Сообщение grigoreo » 28.03.2009 11:51:44

alexs писал(а):а что делает это сообщение? если выбор следующего контрола по порядку обхода - то просто метод SelectNext


Павел Ишенин писал(а):
grigoreo писал(а):да это сообщение в Виндовс эмулировало нажатие кнопки Tab, поэтому мне и нужен вариант чтобы такой код обрабатывался и в Виндовсе и в других поддерживаемых Фрее Паскалем платформах в частности в Линуксе


Если так и нужно только для lazarus форм, то SomeForm.PerformTab() не подойдет?


Спасибо оба варианта работают
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Посылка сообщения окну

Сообщение grigoreo » 31.03.2009 15:42:04

alexs писал(а):а что делает это сообщение? если выбор следующего контрола по порядку обхода - то просто метод SelectNext


а как после выполнение перехода на следующий контрол реализовать чтобы если в том контроле есть текст, переместится в конец строки?
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Посылка сообщения окну

Сообщение Attid » 31.03.2009 16:10:23

Edit1.CaretPos ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Посылка сообщения окну

Сообщение grigoreo » 01.04.2009 10:46:25

Attid писал(а):Edit1.CaretPos ?


А тогда подскажи как узнать текущий контрол формы на котором сейчас стоит фокус, просто обработчик событий стоит общий, или может есть эвент которое происходит когда контрол получает фокус?
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

Рейтинг@Mail.ru