Отправляет email-рассылки с помощью сервиса Sendsay

Windows API

  Все выпуски  

Windows API


Информационный Канал Subscribe.Ru

Windows API. Рассылки сайта progs.biz
Выпуск № 24
 
Начало > WinAPI > Основы > Урок 26

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

Подробнее


Полные версии уроков (с картинками): урок 26.

Windows API
Урок 26. Отмечаем пункт меню

Сейчас мы посмотрим, как ставить и убирать галочку у пункта меню. Для такого действия нам нужна API-функция CheckMenuItem. Параметры у неее такие: первый - handle меню, которому принадлежит наш пункт, второй - идентификатор пункта меню (тот самый, который мы указывали при создании меню), и, наконец, последний параметр определяет, что ставим мы галочку рядом с пунктом меню или убираем.

Рассмотрим пример, основанный на прошлых уроках. Наша программа будет работать так: при щелчке на пунке меню он будет изменять свое состояние на противоположное: если пункт меню был отмечен, то галочка пропадет, и наоборот - если ее не было, то она появится.

Измените обработчик сообщения WM_COMMAND следующим образом:

case WM_COMMAND:
        // Если выбрали пункт меню.
        if(LOWORD(wParam) == 1001)
        {
            // Если пункт меню уже отмечен.
            if(isChecked)
            {
                // То делаем его отмеченным.
                CheckMenuItem(hMainMenu, 1001, MF_UNCHECKED);
            }
            else
            {
                // Если же не выбран, то отмечаем его.
                CheckMenuItem(hMainMenu, 1001, MF_CHECKED);
            }
            isChecked = ! isChecked;
        }
        break;

Разумеется, нам надо добавить для работы данного фрагмента статическую переменную isChecked:

LONG WINAPI WndProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
    static BOOL isChecked;
    ...

После запуска программы можно мы увидим то, что и ожидали - появляющуюся у пункта меню галочку.

Рассылки сайта progs.biz
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


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


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

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapilessons
Отписаться

В избранное