Вот статья с www.vbstreets.ru Гайдар Магдануров SendMessage Здесь я приведу сообщения, которые я хотя бы когда-то использовал. Общий вид: 'Функция: Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long 'Константы Const ... Щелчок по кнопке (Const BM_CLICK = &HF5) RetVal = SendMessage(Command.hWnd, BM_CLICK, 0, 0)
Примечания: не всегда работает, если окно находится в неактивном состоянии, поэтому желательно сделать окно активным, до использования этой функции.
Получения количества элементов в списке ComboBox (Const CB_GETCOUNT = &H146 ) RetVal = SendMessage(Combo.hWnd, CB_GETCOUNT, 0, 0)
Примечания: возвращает число элементов.
Добавление элемента списка в ComboBox (Const CB_ADDSTRING = &H143) RetVal = SendMessage(Combo.hWnd, CB_ADDSTRING, 0, "Новый элемент")
Примечания: в случае успеха возвращает номер позиции в списке.
Удаление элемента списка из ComboBox (Const CB_DELETESTRING = &H144)
RetVal = SendMessage(Combo.hWnd, CB_DELETESTRING, 1, 0)
Примечания: возвращает количество оставшихся элементов в списка ComboBox.
Получение текста из элемента списка ComboBox (Const CB_GETLBTEXT = &H148)
cbtextlen = SendMessage(Combo.hWnd, CB_GETLBTEXT, cbindex, cbtext)
Примечания: получение текста cbtext = Left(cbtext, cbtextlen)
Получение выделенного текста из текстового поля (Const EM_GETSEL = &HB0)
retval = SendMessage(Text.hWnd, EM_GETSEL, txtstart, txtend)
Примечания: получение текста - If txtstart<>txtend then txttext = Mid(Text.Text, txtstart + 1, txtend - txtstart)
Отмена последней операции редактирования (Const EM_UNDO=&HC7)
RetVal = SendMessage(Text1.hwnd, EM_UNDO, 0, 0)
Примечания: работает и для текстовых полей, и для полей RTF текста (здесь работает несколько раз, если вы используета MS RichTextBox контрол)
Системные команды (Const
Ответить
|