home *** CD-ROM | disk | FTP | other *** search
- PROGRAM WhatsInaMsg;
-
- USES WinTypes, WinProcs, Strings;
-
- CONST
- AppName = 'TMsg_Dump';
-
- FUNCTION WindowProc(Window: hWND; Message, wParam: WORD;
- lParam: LONGINT): LONGINT; EXPORT;
- VAR
- MyHDC: hDC;
- PasString: STRING[20];
- aPChar: ARRAY [0..19] OF CHAR;
- BEGIN
- WindowProc := 0;
- CASE Message OF
- wm_LButtonDown, wm_RButtonDown, wm_MButtonDown:
- BEGIN
- MyHDC := GetDC (Window);
- TextOut (MyHDC, 10, 10, 'Message : ', 20);
- Str (Message, PasString);
- StrPCopy (aPChar, PasString);
- TextOut (MyHDC, 100, 10, aPChar, StrLen(aPChar));
-
- TextOut (MyHDC, 10, 30, 'wParam : ', 20);
- Str (wParam, PasString);
- StrPCopy (aPChar, PasString);
- TextOut (MyHDC, 100, 30, aPChar, StrLen(aPChar));
-
- TextOut (MyHDC, 10, 50, 'lParam.Lo : ', 22);
- Str ((lParam DIV 65536), PasString);
- StrPCopy (aPChar, PasString);
- TextOut (MyHDC, 100, 50, aPChar, StrLen(aPChar));
-
- TextOut (MyHDC, 10, 70, 'lParam.Hi : ', 22);
- Str ((lParam MOD 65536), PasString);
- StrPCopy (aPChar, PasString);
- TextOut (MyHDC, 100, 70, aPChar, StrLen(aPChar));
-
- ReleaseDC (Window, MyHDC);
- END;
- wm_Destroy:
- BEGIN
- PostQuitMessage(0);
- Exit;
- END;
- END;
- WindowProc := DefWindowProc(Window, Message, wParam, lParam);
- END;
-
- PROCEDURE WinMain;
- VAR
- Window: hWND;
- Message: tMsg;
- CONST
- WindowClass: tWndClass = (
- Style: 0;
- lpfnWndProc: @WindowProc;
- cbClsExtra: 0;
- cbWndExtra: 0;
- hInstance: 0;
- hIcon: 0;
- hCursor: 0;
- hbrBackground: 0;
- lpszMenuName: AppName;
- lpszClassName: AppName);
- BEGIN
- IF hPrevInst = 0 THEN
- BEGIN
- WindowClass.hInstance := hInstance;
- WindowClass.hIcon := LoadIcon(0, idi_Application);
- WindowClass.hCursor := LoadCursor(0, idc_Arrow);
- WindowClass.hbrBackground := GetStockObject(White_Brush);
- IF NOT RegisterClass(WindowClass) THEN Halt(255);
- END;
- Window := CreateWindow(
- AppName,
- 'What''s in a Message',
- ws_OverlappedWindow,
- cw_UseDefault,
- cw_UseDefault,
- cw_UseDefault,
- cw_UseDefault,
- 0,
- 0,
- hInstance,
- NIL);
- ShowWindow(Window, CmdShow);
- UpdateWindow(Window);
- WHILE GetMessage(Message, 0, 0, 0) DO
- BEGIN
- TranslateMessage(Message);
- DispatchMessage(Message);
- END;
- Halt(Message.wParam);
- END;
-
- BEGIN
- WinMain;
- END.
-