TestProc.pas 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Uses Win2K2,CoolKey,Graph,ccontr;
  2. var
  3. gCol : Integer;
  4. Parent : hWNd;
  5. gP : POINT;
  6. gText : String;
  7. Function WindowProc(ahWnd:HWND;aMsg,wParam,lParam:UINT32):UINT32;far;
  8. var
  9. ps : LPPAINTSTRUCT;
  10. rt : RECT;
  11. begin
  12. case aMsg of
  13. WM_COMMAND:
  14. begin
  15. if lParam = 1 then gText:='Button Pressed';
  16. if lParam = 0 then gText:='Button Released';
  17. PostMessage(ahWnd,WM_PAINT,0,0);
  18. end;
  19. WM_DESTROY:
  20. PostQuitMessage(ahwnd);
  21. WM_KEYDOWN:
  22. if wParam = ord(SC_ESCAPE) then PostQuitMessage(ahWnd);
  23. WM_PAINT:
  24. begin
  25. ps := BeginPaint(ahWNd);
  26. wSetColor(ps,gCol);
  27. wSetBgColor(ps,GlobalPalette.ThreeDColor1);
  28. wSetStyle(ps,SolidFill);
  29. wSetFontJustify(ps,CenterText,CenterText);
  30. GetClientRect(ahWnd,@rt);
  31. wBar(ps,0,(rt.b.y - TextHeight(gText)) shr 1,
  32. rt.b.x,(rt.b.y + TextHeight(gText)) shr 1);
  33. wTextOut(ps,rt.b.x shr 1, rt.b.y shr 1, @gText);
  34. EndPaint(ps);
  35. end;
  36. end;
  37. end;
  38. begin
  39. if InitWin2K2 = ERR_OK then
  40. if RegisterClass('TestClass',WindowProc) = ERR_OK then
  41. begin
  42. InitCommonControls;
  43. Parent:=CreateWindow('My Cool Application','TestClass',
  44. WS_TITLE OR WS_SIZEABLE OR WS_MINMAX,
  45. 100,100,300,200,
  46. NULL,NULL);
  47. CreateWindow('Cool Button','BUTTON',WS_CHILD,
  48. 20,120,120,40,Parent,NULL);
  49. CreateWindow('Text','EDIT',WS_CHILD,
  50. 20,20,120,20,Parent,NULL);
  51. CreateWindow('Hello My Label','LABEL',WS_CHILD,
  52. 20,60,120,20,Parent,NULL);
  53. MainRunLoop;
  54. end;
  55. DoneWin2K2;
  56. end.