//============================================================================ // Copyright(c) 1996, Microsoft Corporation // // File: bpopup.h // // History: // Abolade Gbadegesin Mar-2-1996 Created. // // This file contains public declarations for the Bubble-Popup window class. // A bubble-popup provides functionality similar to that of a tooltip, // in that it displays text for a brief period and then hides itself. // This class differs in that it uses DrawText for its output, thus allowing // multi-line text formatted using tabs. Further, the user is required // to tell the bubble-popup when to show itself. // // To create a bubble-popup, call BubblePopup_Create(). // This returns an HWND (to be later destroyed using DestroyWindow()). // The text of the bubble-popup can be set and retrieved using WM_SETTEXT // and WM_GETTEXT (and hence the macros {Get,Set}WindowText(). // // Set the period for which a popup is active by calling BubblePopup_SetTimeout // and activate the popup by calling BubblePopup_Activate. // While a popup is activated, changes to its text are reflected immediately. // If BubblePopup_Activate is called while the popup is already active, // the countdown (till the window is hidden) is started again. //============================================================================ #ifndef _BPOPUP_H_ #define _BPOPUP_H_ // Window class name for bubble-popups #define WC_BUBBLEPOPUP TEXT("BubblePopup") // Messages accepted by bubble-popups #define BPM_FIRST (WM_USER + 1) #define BPM_ACTIVATE (BPM_FIRST + 0) #define BPM_DEACTIVATE (BPM_FIRST + 1) #define BPM_SETTIMEOUT (BPM_FIRST + 2) BOOL BubblePopup_Init( IN HINSTANCE hinstance ); #define BubblePopup_Create(hinstance) \ CreateWindow( \ WC_BUBBLEPOPUP, NULL, 0, 0, 0, 0, 0, NULL, 0, (hinstance), NULL \ ) #define BubblePopup_Activate(hwnd) \ (VOID)SendMessage((HWND)hwnd, BPM_ACTIVATE, 0, 0) #define BubblePopup_Deactivate(hwnd) \ (VOID)SendMessage((HWND)hwnd, BPM_DEACTIVATE, 0, 0) #define BubblePopup_SetTimeout(hwnd, uiTimeout) \ (VOID)SendMessage((HWND)hwnd, BPM_SETTIMEOUT, 0,(LPARAM)(UINT)uiTimeout) #endif