ВУЗ:
Составители:
Рубрика:
- 14 -
общение. При равенстве этого параметра HWND_BROADCAST сообщение
передается всем окнам верхнего уровня в системе (включая недоступные, не-
видимые, перекрытые другими и всплывающие), за исключением дочерних
окон. Если этот параметр равен NULL, то сообщение ставится в очередь (ес-
ли она есть) сообщений текущего процесса. Параметр Msg определяет собст-
венно передаваемое сообщение, параметры
wParam и lParam содержат до-
полнительную информацию (при необходимости). При успехе функция
PostMessage возвращает ненулевое значение, при неудаче - нуль (причину
ошибки можно установить вызовом функции GetLastError).
LPRESULT
SendMessage(HWND hwnd, // дескриптор окна, которому
// передается сообщение
UINT Msg, // собственно сообщение
WPARAM wParam, // первый параметр сообщения
LPARAM lParam); // второй параметр сообщения
Параметры функции SendMessage в основном идентичны таковым функ-
ции PostMessage; возвращаемое функцией значение зависит от вида сообще-
ний.
При непрямой передаче сообщение помещается в очередь окна-адресата;
если очередь не пуста, окно получит данное сообщение лишь после обработ-
ки всех предыдущих (на что потребно некоторое время).
При прямой передаче
происходит обращение непосредственно к процеду-
ре окна, минуя очередь (применяется при необходимости немедленной реак-
ции на сообщение). Например, следующее WINDOWS API-предписание по-
сылает сообщение EM_LINEFROMCHAR компоненту (понятие компонента
см. ниже) Memo_1 с целью получения номера первого выделенного в
Memo_1 символа
var
LineNumb: Longint; { номер начального символа
выделенного участка текста в Memo_1 }
LineNumb:=SendMessage(Memo_1.Handle,EM_LINEFROMCHAR,
Memo_1.SelStart, 0);
В системах C++Builder и Delphi определена (в качестве метода класса
TControl) функция Perform, обладающей функциональностью вышеприве-
денных
int __fastcall Perform(Cardinal Msg,
int WParam,
int LParam);
- 14 - общение. При равенстве этого параметра HWND_BROADCAST сообщение передается всем окнам верхнего уровня в системе (включая недоступные, не- видимые, перекрытые другими и всплывающие), за исключением дочерних окон. Если этот параметр равен NULL, то сообщение ставится в очередь (ес- ли она есть) сообщений текущего процесса. Параметр Msg определяет собст- венно передаваемое сообщение, параметры wParam и lParam содержат до- полнительную информацию (при необходимости). При успехе функция PostMessage возвращает ненулевое значение, при неудаче - нуль (причину ошибки можно установить вызовом функции GetLastError). LPRESULT SendMessage(HWND hwnd, // дескриптор окна, которому // передается сообщение UINT Msg, // собственно сообщение WPARAM wParam, // первый параметр сообщения LPARAM lParam); // второй параметр сообщения Параметры функции SendMessage в основном идентичны таковым функ- ции PostMessage; возвращаемое функцией значение зависит от вида сообще- ний. При непрямой передаче сообщение помещается в очередь окна-адресата; если очередь не пуста, окно получит данное сообщение лишь после обработ- ки всех предыдущих (на что потребно некоторое время). При прямой передаче происходит обращение непосредственно к процеду- ре окна, минуя очередь (применяется при необходимости немедленной реак- ции на сообщение). Например, следующее WINDOWS API-предписание по- сылает сообщение EM_LINEFROMCHAR компоненту (понятие компонента см. ниже) Memo_1 с целью получения номера первого выделенного в Memo_1 символа var LineNumb: Longint; { номер начального символа выделенного участка текста в Memo_1 } LineNumb:=SendMessage(Memo_1.Handle,EM_LINEFROMCHAR, Memo_1.SelStart, 0); В системах C++Builder и Delphi определена (в качестве метода класса TControl) функция Perform, обладающей функциональностью вышеприве- денных int __fastcall Perform(Cardinal Msg, int WParam, int LParam);
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »