Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
790 | bw | 1 | |
2 | {-$codepage cp866} |
||
3 | |||
4 | |||
5 | {$smartlink on} |
||
6 | {$apptype gui} |
||
7 | |||
8 | |||
9 | |||
10 | |||
11 | и реализованы только для KolibriOS. Их использование в любых программных |
||
12 | приложениях категорически не рекомендовано, выносите все методы, использующие |
||
13 | эти функции, в отдельные модули (и используйте необходимые абстракции). } |
||
14 | |||
15 | |||
16 | |||
17 | { Вывод содержимого окна приложения } |
||
18 | begin |
||
19 | kos_begindraw(); |
||
20 | |||
21 | |||
22 | kos_definewindow(200, 200, 200, 50, $23AABBCC); |
||
23 | |||
24 | |||
25 | делаем это отдельной функцией kos_setcaption } |
||
26 | |||
27 | |||
28 | kos_setcaption('ПРИМЕР ПРОГРАММЫ'); |
||
29 | |||
30 | |||
31 | kos_drawtext(3, 8, 'Нажмите любую клавишу...'); |
||
32 | kos_enddraw(); |
||
33 | end; |
||
34 | |||
35 | |||
36 | |||
37 | { Обработка события нажатия клавиши } |
||
38 | var |
||
39 | Key: DWord; |
||
40 | Notes: array[0..3] of Byte; |
||
41 | begin |
||
42 | Key := kos_getkey(); |
||
43 | |||
44 | |||
45 | Notes[0] := $90; |
||
46 | Notes[1] := Key shr 8; |
||
47 | Notes[2] := $00; |
||
48 | |||
49 | |||
50 | kos_speaker(@Notes); |
||
51 | end; |
||
52 | |||
53 | |||
54 | |||
55 | { Обработка события нажатия кнопки GUI } |
||
56 | var |
||
57 | Button: DWord; |
||
58 | begin |
||
59 | { получить код нажатой кливиши } |
||
60 | Button := kos_getbutton(); |
||
61 | |||
62 | |||
63 | Result := Button <> 1; |
||
64 | end; |
||
65 | |||
66 | |||
67 | |||
68 | { Ожидание и обработка событий. |
||
69 | |||
70 | |||
71 | @rtype : True или False } |
||
72 | var |
||
73 | Event: DWord; |
||
74 | begin |
||
75 | Result := True; |
||
76 | |||
77 | |||
78 | Event := kos_getevent(); |
||
79 | case Event of |
||
80 | SE_PAINT : DoPaint; { перерисовка окна } |
||
81 | SE_KEYBOARD: DoKey; { событие от клавиатуры } |
||
82 | SE_BUTTON : Result := DoButton; { событие от кнопки, может определить |
||
83 | завершение приложения, если вернет False } |
||
84 | end; |
||
85 | end; |
||
86 | |||
87 | |||
88 | |||
89 | var |
||
90 | ThreadSlot: TThreadSlot; |
||
91 | begin |
||
92 | { настраиваем события, которые мы готовы обрабатывать } |
||
93 | kos_maskevents(ME_PAINT or ME_KEYBOARD or ME_BUTTON); |
||
94 | |||
95 | |||
96 | while ProcessMessage do; |
||
97 | end.> |
||
98 |