div.main {margin-left: 20pt; margin-right: 20pt}
Гайдар
Магдануров
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
WM_SYSCOMMAND = &H112)
RetVal =
SendMessage (Form.hwnd,
WM_SYSCOMMAND, Oter_Const, 0)
Список сообщений:
Const
SC_CLOSE = &HF060 Закрывает окно
Const
SC_CONTEXTHELP = &HF180 Отображает курсов -
Вопросительный знак
Const
SC_HSCROLL=&HF080 Прокрутка горизонтальной полосы
прокрутки
Const
SC_VSCROLL=&HF070 Прокрутка вертикальной полосы
прокрутки
Const
SC_MAXIMIZE = &HF030 Разворачивает окно
Const
SC_MINIMIZE = &HF020 Сворачивает окно
Const
SC_MOVE = &HF010 Перемещает окно
Const
SC_RESTORE = &HF120 Восстанавливает окно до
нормальных размеров
Const
SC_SCREENSAVE = &HF140 Запускает хранитель экрана
(default)
Const
SC_SIZE = &HF000 Изменяет размеры окна
Const
SC_TASKLIST=&HF130 Кнопка Пуск
(Start)
Примечания:
функция всегда возвращает ноль.
|