0,0 → 1,49 |
#ifndef INCLUDE_WINDOW_H |
#define INCLUDE_WINDOW_H |
#include "../lib/gui.h" |
|
|
#define WINDOW_NORMAL 0x34 |
:struct window |
{ |
void create(); |
dword left,top,width,height; |
dword caption,type,background; |
dword onbutton,onkey,ondraw; |
proc_info Form; |
}; |
|
void window::create() |
{ |
word id=0; |
IF(!caption)caption = "Window"; |
IF(!width)width=350; |
IF(!height)height=300; |
IF(!type)type = WINDOW_NORMAL; |
IF(!background)background = 0xDED7CE; |
|
loop() switch(WaitEvent()) |
{ |
case evButton: |
id=GetButtonID(); |
IF(onbutton)onbutton(id); |
IF (id==1) ExitProcess(); |
break; |
|
case evKey: |
GetKeys(); |
IF(onkey)onbutton(key_scancode); |
//if (key_scancode == SCAN_CODE_ESC ) ExitProcess(); |
break; |
|
case evReDraw: |
GetProcessInfo(#Form, SelfInfo); |
DefineAndDrawWindow(left,top,width,height,type,background,caption,0); |
|
IF(ondraw)ondraw(); |
break; |
} |
|
} |
|
#endif |