Показать сообщение отдельно
Старый 10.03.2009, 17:09   #30
Doctor Drive
Нуждающийся
 
Аватар для Doctor Drive
 
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение
(для 2 участников)
Ответ: Lib_menu32 - Графическое меню без головной боли

В старой версии не очищается первый пункт.
В новой курсора не показывает о_О

Program MenuDemo;
Uses    menu32font32parsejsr75i;
var 
rootgdgfpathstring;
iselkeyinteger;
a,bimage;
Begin
    
//----------------------CHOOSE DRIVE----------------------------
    
menu32.createcursor(200,20,255255000);
    
:= 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(1010110150); 
    
menu32.MenuFonts(01);
    
for 
:= 0 to parse.len-do additem(b,parse.get(i));

    
    
DrawMenuRepaint;
repeat
        key
:=KeyToAction(GetKeyClicked);
        if 
key=GA_DOWN then begin CursorDownDrawMenuRepaintDelay(100); end;
        if 
key=GA_UP then begin CursorUpDrawMenuRepaintDelay(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 
:= 0 to parse.len-do additem(b,parse.get(i));
        
setcolor(255,255,255); fillrect(0,0,getwidth,getheight);
drawmenurepaint;
    
    
repeat
        key
:=KeyToAction(GetKeyClicked);
        if 
key=GA_DOWN then begin CursorDownDrawMenuRepaintDelay(100); end;
        if 
key=GA_UP then begin CursorUpDrawMenuRepaintDelay(100); end;
until key=GA_FIRE;
    
    
until false;
    
End

Последний раз редактировалось Doctor Drive, 10.03.2009 в 17:36.
(Offline)
 
Ответить с цитированием