home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
bubble.zip
/
SAMPLE.C
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-13
|
2KB
|
80 lines
#define INCL_WIN
#include <os2.h>
#include "bubble.h"
#define WIN "MyWin"
MRESULT EXPENTRY WinProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
{
switch (msg)
{
case WM_CREATE:
{
HWND hwndButton, hwndBubble;
WNDPARAMS wp;
HBUBBLECTLDATA data;
hwndButton = WinCreateWindow(hwnd, WC_BUTTON, (PSZ)"Click Me",
WS_VISIBLE | BS_PUSHBUTTON, 50, 50, 100, 50, hwnd, HWND_TOP,
100, NULL, NULL);
hwndBubble = WinCreateWindow(HWND_DESKTOP, WC_HINTBUBBLE,
(PSZ)"Sample\nHint\nBubble",
HBS_TOP | HBS_USEMOUSEPOS | HBS_CENTERTEXT,
0, 0, 0, 0, hwnd, HWND_TOP, 101, NULL, NULL);
data.cb = sizeof (HBUBBLECTLDATA);
data.linkedCtl = hwndButton;
data.linkX = 0; // dont need because HBS_USEMOUSEPOS
data.linkY = 0;
data.delay = 1000; // 1 second delay
data.hidedelay = 0; // display as long as over attached control
wp.fsStatus = WPM_CTLDATA;
wp.pCtlData = (void *)&data;
WinSendMsg(hwndBubble, WM_SETWINDOWPARAMS, (MPARAM)&wp, NULL);
return 0;
}
case WM_PAINT:
{
HPS hps;
hps = WinBeginPaint(hwnd, 0 ,0);
GpiErase(hps);
WinEndPaint(hps);
return 0;
}
}
return WinDefWindowProc(hwnd, msg, mp1, mp2);
}
main()
{
HAB hab;
HMQ hmq;
QMSG qmsg ;
HWND hwnd;
ULONG ff = FCF_SHELLPOSITION | FCF_MINMAX | FCF_TITLEBAR |
FCF_SIZEBORDER | FCF_SYSMENU | FCF_TASKLIST;
hab = WinInitialize(0);
hmq = WinCreateMsgQueue(hab,0);
WinRegisterClass(hab, (PSZ)WIN, WinProc, CS_SIZEREDRAW | CS_MOVENOTIFY, 0);
HintBubbleRegister(hab);
WinCreateStdWindow (HWND_DESKTOP, WS_VISIBLE, &ff,
(PSZ)WIN, (PSZ)"Hint Bubble Sample", 0, 0, 102, &hwnd);
while (WinGetMsg (hab, &qmsg, 0, 0, 0))
WinDispatchMsg (hab, &qmsg);
WinDestroyMsgQueue(hmq);
WinTerminate(hab);
return 0;
}