#define MEMSIZE 4096*10 #include "../lib/io.h" #include "../lib/list_box.h" #include "../lib/gui.h" #include "../lib/menu.h" struct _object { int x,y,w,h,id; }; _object butv = { 20, 20, 100, 30, 10}; _object buta = {150, 20, 100, 30, 20}; char vegetables[] = "Onion Melon Tomato Squash Salad"; char animals[] = "Cat Dog Pig Cow Goat Rabbit"; byte category; void main() { proc_info Form; int id; loop() switch(WaitEvent()) { case evButton: id=GetButtonID(); if (id==1) ExitProcess(); if (id==butv.id) { menu.selected = category+1; menu.show(Form.left+5 + butv.x, Form.top+skin_height + butv.y + butv.h, 140, #vegetables, butv.id); } if (id==buta.id) { menu.selected = 0; menu.show(Form.left+5 + buta.x, Form.top+skin_height + buta.y + buta.h, 140, #animals, buta.id); } break; case evKey: GetKeys(); break; case evReDraw: if (menu.list.cur_y) { if (menu.list.cur_y > butv.id) && (menu.list.cur_y < buta.id) category = menu.list.cur_y - butv.id; } DefineAndDrawWindow(215,100,350,300,0x34,0xFFFFFF,"Window header",0); GetProcessInfo(#Form, SelfInfo); WriteText(10,110,0x80,0,#param); DrawCaptButton(butv.x, butv.y, butv.w, butv.h, butv.id, 0xCCCccc, 0x000000, "Vegetables"); DrawCaptButton(buta.x, buta.y, buta.w, buta.h, buta.id, 0xCCCccc, 0x000000, "Aminal"); break; } }