Показать сообщение отдельно
  #33  
Старый 28.04.2009, 11:15
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

По поводу ComboBox. Чтобы выполнялись действия, которые происходят при смене элемента, нужно уведомить об этом изменении само родительское окно, в котором расположен ComboBox. Можно так:
Код:
cbId := GetDlgCtrlId(cbHandle);
SendMessage(cbHandle, CB_SETCURSEL, 2, 0);
SendMessage(MainWndHandle, WM_COMMAND, MakeWParam(cbId, CBN_SELCHANGE), cbHandle);
  • cbId — идентификатор ComboBox'а. Нужен для отправки сообщения WM_COMMAND родительскому окну.
  • cbHandle — дескриптор окна ComboBox'а.
  • MainWndHandle — дескриптор родительского окна, в котором находится ComboBox.

Насчет обычного Edit. Проверяю на том, что мне доступно... Например, нахожу в окне свойств графика вашей программы первый попавшийся Edit, отвечающий за масштаб. Меняю в нем текст:
Код:
const
  NewText = '2.100';
.........
SendMessage(EditHandle, WM_SETTEXT, 0, Integer(@NewText[1]));
Потом нажимаю OK в окне свойств графика, и всё нормально — изменения вступают в силу. Также проверяю на своих программах: просто прописываю реакцию Edit'а на событие OnChange, потом отсылаю ему сообщение WM_SETTEXT, и опять же срабатывает. Не знаю, почему у вас не работает...

Цитата:
Сообщение от одинадцатый
Как нажать на кнопку обычного меню?
так?
Ответить с цитированием