Ассемблер для Windows



         

В данном разделе мы рассмотрим весьма интересный вопрос о всплывающих подсказках - часть 2


  1. Проверку положения курсора. Если курсор оказался на данном элементе, то вызывать подсказку. При этом желательно, чтобы подсказка появлялась бы с некоторой задержкой. Последнее можно обеспечить введением счетчика - вызывать подсказку, если счетчик превысил некоторое значение.
  2. Необходимо обеспечить удаление подсказки, если курсор покидает данный элемент.
  3. На Рисунок 3.1.3 представлена программа, которая демонстрирует описанный выше подход. На Рисунок 3.1.4 представлено диалоговое окно с подсказками. В принципе, означенный подход не является единственным, и, разобравшись в данном подходе, вы сможете пофантазировать и придумать свои способы создания подсказок.

    // файл HINT.RC // определение констант #define WS_SYSMENU 0x00080000L // элементы на окне должны быть изначально видимы #define WS_VISIBLE 0x10000000L // бордюр вокруг элемента #define WS_BORDER 0x00800000L // при помощи TAB можно по очереди активизировать элементы #define WS_TABSTOP 0x00010000L // текст в окне редактирования прижат к левому краю #define ES_LEFT 0x0000L // стиль всех элементов на окне #define WS_CHILD 0x40000000L // стиль - кнопка #define BS_PUSHBUTTON 0x00000000L // центрировать текст на кнопке #define BS_CENTER 0x00000300L // тип окна - "поплавок" #define WS_POPUP 0x80000000L // стиль - диалоговое окно Windows 95 #define DS_3DLOOK 0x0004L

    // определение диалогового окна DIAL1 DIALOG 0, 0, 240, 100 STYLE WS_SYSMENU | DS_3DLOOK CAPTION "Окно с всплывающими подсказками" FONT 8, "Arial" { // окно редактирования, идентификатор 1 CONTROL "", 1, "edit", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP , 100, 5, 130, 12 // кнопка, идентификатор 2 CONTROL "Выход", 2, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 180, 76, 50, 14 }

    // диалоговое окно подсказки HINTW DIALOG 0, 0, 240, 8 STYLE DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_BORDER FONT 8, "MS Sans Serif" { }

    ; файл HINT.INC ;константы ;цвет фона окна подсказки RED = 255 GREEN = 255 BLUE = 150 RGBB equ (RED or (GREEN shl 8)) or (BLUE shl 16)




    Содержание  Назад  Вперед