Автор вопроса: П.С. | Web-сайт:psbatishev.narod.ru | ICQ: 225019134
Добрый день!
Есть проблема с отменой последних действий в VB6: многие контролы умеют отменять последнее действие, и когда нажимаешь Ctrl+Z, то отменяют, но нужно ведь еще кнопку в панель инструментов вывести с синей стрелкой "Отмена". Как это сделать, если метода нет?
Прочитал в статье про посылку сообщений окну и текстовому полю с помощью Win32 API: http://www.vbnet.ru/articles/showarticle.aspx?id=76 - работает для текстовых полей, но на форме есть еще в перемежку и ComboBox. Они не поддерживают посылку сообщения EM_UNDO - прочитал это в справочнике, но ничего другого не нашел. Подозреваю, что можно сделать путем посылки кода нажатой клавиши в буфер клавиатуры, но в Windows 7 эта возможность не работает вообще и выдает ошибку. Может тогда послать код с помощью Win API, но не знаю как это сделать?
Ну, классический комбо состоит из трех окон и посылать EM_UNDO надо бы не в combobox.hwnd, а в его дочернее окно EDIT.
Его хендл можно выяснить например с помощью GetComboBoxInfo.