По поводу 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, и опять же срабатывает. Не знаю, почему у вас не работает...
Цитата:
Сообщение от одинадцатый
Как нажать на кнопку обычного меню?
|
так?