В старой версии не очищается первый пункт.
В новой курсора не показывает о_О
Program MenuDemo;
Uses menu32, font32, parse, jsr75i;
var root, gd, gf, path: string;
i, sel, key: integer;
a,b: image;
Begin
//----------------------CHOOSE DRIVE----------------------------
menu32.createcursor(200,20,255255000);
b := loadimage('/star.png');
path := '/';
parse.line(jsr75i.get_roots, '|');
font32.init(2);
font32.Font(0); LoadFont('Verdana_7');
font32.Font(1); LoadFont('Verdana_7b');
menu32.init;
menu32.SetMenuWindow(10, 10, 110, 150);
menu32.MenuFonts(0, 1);
for i := 0 to parse.len-1 do additem(b,parse.get(i));
DrawMenu; Repaint;
repeat
key:=KeyToAction(GetKeyClicked);
if key=GA_DOWN then begin CursorDown; DrawMenu; Repaint; Delay(100); end;
if key=GA_UP then begin CursorUp; DrawMenu; Repaint; Delay(100); end;
until key=GA_FIRE;
//----------------------------END OF DRIVES--------------------------------
repeat
sel := menu32.selected;
path := path + parse.get(sel);
if copy(parse.get(sel), length(parse.get(sel))-1,length(parse.get(sel))) <> '/' then break;
gd := jsr75i.get_dirs(path);
gf := jsr75i.get_files(path);
if gd = '' then root := gf;
if gd <> '' then root := gd+'|'+gf;
parse.clear;
parse.line(root, '|');
menu32.init;
for i := 0 to parse.len-1 do additem(b,parse.get(i));
setcolor(255,255,255); fillrect(0,0,getwidth,getheight);
drawmenu; repaint;
repeat
key:=KeyToAction(GetKeyClicked);
if key=GA_DOWN then begin CursorDown; DrawMenu; Repaint; Delay(100); end;
if key=GA_UP then begin CursorUp; DrawMenu; Repaint; Delay(100); end;
until key=GA_FIRE;
until false;
End.