123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- MODULE TestGui;
- IMPORT Gui, B := Buttons, Panels, G := Graph, Int, Strings, Out;
- VAR
- win: Gui.Window;
- btn, btn2, btn3: B.Button;
- panel1: Panels.Panel;
- QQQ, WWW: INTEGER;
- PROCEDURE BtnOnClick(W: Gui.Widget);
- VAR s: ARRAY 30 OF CHAR;
- BEGIN
- s := 'Щёлк ';
- Int.Append(W.tag, s);
- Gui.SetText(W, s);
- INC(W.tag)
- END BtnOnClick;
- PROCEDURE MyButtonMouseMove(W: Gui.Widget; x, y, btn: INTEGER);
- VAR s: ARRAY 30 OF CHAR;
- BEGIN
- Int.Str(x, s);
- Strings.Append(':', s);
- Int.Append(y, s);
- Gui.SetText(W, s)
- END MyButtonMouseMove;
- PROCEDURE MyButtonMouseDown(W: Gui.Widget; x, y, btn: INTEGER);
- VAR s: ARRAY 30 OF CHAR;
- BEGIN
- Int.Str(QQQ, s);
- Strings.Append(', ', s);
- Int.Append(x, s);
- Strings.Append(':', s);
- Int.Append(y, s);
- Gui.SetText(W, s);
- INC(QQQ)
- END MyButtonMouseDown;
- PROCEDURE MyButtonMouseUp(W: Gui.Widget; x, y, btn: INTEGER);
- VAR s: ARRAY 30 OF CHAR;
- BEGIN
- Int.Str(QQQ, s);
- Strings.Append('; ', s);
- Int.Append(x, s);
- Strings.Append(':', s);
- Int.Append(y, s);
- Gui.SetText(W, s);
- INC(QQQ)
- END MyButtonMouseUp;
- PROCEDURE Btn3OnMouseEnter(W: Gui.Widget);
- BEGIN
- Gui.SetText(W, 'СЮДА')
- END Btn3OnMouseEnter;
- PROCEDURE Btn3OnMouseLeave(W: Gui.Widget);
- BEGIN
- Gui.SetText(W, 'ТУДА')
- END Btn3OnMouseLeave;
- PROCEDURE InitInterface;
- BEGIN
- Gui.NewWindowSettings({G.fullscreen});
- win := Gui.NewWindow(320, 200);
- (*Gui.NewWindowSettings({});
- win := Gui.NewWindow(800, 600);*)
- panel1 := Panels.NewPanel(220, 140, 'Кнопки');
- Gui.Place(win, panel1, (win.w - panel1.w) DIV 2, (win.h - panel1.h) DIV 3);
- btn := B.NewButton(110, 24, 'Нажми меня');
- Gui.SetDefault(btn, TRUE);
- Gui.SetOnMouseMove(btn, MyButtonMouseMove);
- Gui.SetOnMouseDown(btn, MyButtonMouseDown);
- Gui.SetOnMouseUp(btn, MyButtonMouseUp);
- Gui.SetOnClick(btn, BtnOnClick);
- Gui.Place(panel1, btn, 8, 20);
- btn2 := B.NewButton(110, 24, 'Щёлкни сюда');
- Gui.SetDefault(btn2, TRUE);
- Gui.SetOnClick(btn2, BtnOnClick);
- Gui.Place(panel1, btn2, 8, btn.y + btn.h + 8);
- btn3 := B.NewButton(110, 24, 'Ничто');
- Gui.Place(panel1, btn3, 8, btn2.y + btn2.h + 8);
- Gui.SetOnMouseEnter(btn3, Btn3OnMouseEnter);
- Gui.SetOnMouseLeave(btn3, Btn3OnMouseLeave);
- Gui.SetDefault(btn3, TRUE);
- END InitInterface;
- BEGIN
- QQQ := 0; WWW := 0;
- Gui.Init;
- IF Gui.Done THEN
- InitInterface;
- Gui.Run;
- Gui.Close
- ELSE Out.String('Could not init GUI.'); Out.Ln
- END
- END TestGui.
|