TestGui.Mod 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. MODULE TestGui;
  2. IMPORT Gui, B := Buttons, G := Graph, Int, Strings, Out;
  3. VAR
  4. win: Gui.Window;
  5. btn, btn2: B.Button;
  6. QQQ, WWW: INTEGER;
  7. PROCEDURE BtnOnClick(W: Gui.Widget);
  8. VAR s: ARRAY 30 OF CHAR;
  9. BEGIN
  10. s := 'Щёлк ';
  11. Int.Append(W.tag, s);
  12. Gui.SetText(W, s);
  13. INC(W.tag)
  14. END BtnOnClick;
  15. PROCEDURE MyButtonMouseDown(W: Gui.Widget; x, y, btn: INTEGER);
  16. VAR s: ARRAY 30 OF CHAR;
  17. BEGIN
  18. Int.Str(QQQ, s);
  19. Strings.Append(', ', s);
  20. Int.Append(x, s);
  21. Strings.Append(':', s);
  22. Int.Append(y, s);
  23. Gui.SetText(W, s);
  24. INC(QQQ)
  25. END MyButtonMouseDown;
  26. PROCEDURE MyButtonMouseUp(W: Gui.Widget; x, y, btn: INTEGER);
  27. VAR s: ARRAY 30 OF CHAR;
  28. BEGIN
  29. Int.Str(QQQ, s);
  30. Strings.Append('; ', s);
  31. Int.Append(x, s);
  32. Strings.Append(':', s);
  33. Int.Append(y, s);
  34. Gui.SetText(W, s);
  35. INC(QQQ)
  36. END MyButtonMouseUp;
  37. PROCEDURE InitInterface;
  38. BEGIN
  39. Gui.NewWindowSettings({G.fullscreen});
  40. win := Gui.NewWindow(320, 200);
  41. btn := B.NewButton(110, 24, 'Нажми меня');
  42. Gui.SetOnMouseDown(btn, MyButtonMouseDown);
  43. Gui.SetOnMouseUp(btn, MyButtonMouseUp);
  44. Gui.SetOnClick(btn, BtnOnClick);
  45. Gui.Place(win, btn, (win.w - btn.w) DIV 2, (win.h - btn.h) DIV 3);
  46. btn2 := B.NewButton(110, 24, 'Щёлкни сюда');
  47. Gui.SetOnClick(btn2, BtnOnClick);
  48. Gui.Place(win, btn2, btn.x, btn.y + btn.h + 4)
  49. END InitInterface;
  50. BEGIN
  51. QQQ := 0; WWW := 0;
  52. Gui.Init;
  53. IF Gui.Done THEN
  54. InitInterface;
  55. Gui.Run;
  56. Gui.Close
  57. ELSE Out.String('Could not init GUI.'); Out.Ln
  58. END
  59. END TestGui.