progs.biz  
Начало>WinAPI>API>Урок 5
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

М. Фленов. Программирование на C++ глазами хакера
М. Фленов. Программирование на C++ глазами хакера
Заказать на Озоне



Яндекс-цитирования

Windows API
Урок 5. Пишем обработчик для левой кнопки мыши

Схема действий для добавления обработчика любого сообщения Windows следующая - мы просто должны добавить соответствующую ветку в case оконной процедуры. В частности, если мы хотим, чтобы наша программа обращала внимание на нажатие левой кнопки мыши, то мы должны добавить строку "case WM_LBUTTONDOWN:":

...
switch (Message){
    //Если нажали на левую кнопку мыши,
    case WM_LBUTTONDOWN:
        //то раздается звуковой сигнал.
        MessageBeep(0xFFFFFFFF); 
        break;
    ...
    }

Теперь при запуске нашей программы при нажатии левой кнопки мыши в окне мы услышим звуковой сигнал. Аналогично мы можем писать обработчики для остальных сообщений Windows. Обратите внимание на break в конце обработчика. Хотя синтаксически он не обязателен, но в подавляющем числе случаев он нужен (чтобы программа не "проваливалась" на следующий обработчик).

Вообще для программ, написанных на голом API, как правило, мы имеем следующую ситуацию - функция WinMain у них различается мало, а вот оконная процедура - весьма существенно. И именно тем, какие сообщения в оконной процедуре обрабатываются, программы и отличаются друг от друга. И, как правило, оконная процедура достаточно большая - ведь настоящая программа умеет много чего. Хотя в нашем случае она пока очень маленькая.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев