Pascal-ban menüt (amely nyilakkal és egérrel is működne) hogy lehet készíteni? Lenne vagy húsz menüpontja és grafikus megvalósítás is érdekelne.
Grafikusan azt szeretném (grafikus felülethez nem értek), hogy pl. egy menüpontra ha rákattintanak, akkkor bejönne egy szöveg ami lehetne akár egy, vagy kétoldalas is és a program figyelne arra is, hogy lapozgatható legyen.
Esc billentyűvel minden menüből vissza lehetne lépni és akkor az ablak bezáródna és bejönne a főmenü.
Ha kizárólag ezt szeretném, az grafikailag milyen tervezést igényel, meg lehet csinálni tervezés nélkül is?
Elég az, ha rákattintanak egy menüre, a hozzá társított szöveg megjelenik egy ablakban és minden más eltűnik...
Mivel nem értek hozzá, csak egy egyszerű példát tudtam írni amiben még a nyilak se működnek, csak definiálva vannak :S
nem várom el (nem is várhatom el) hogy valaki megírja, de ha valakinek van készen hasonló megoldás, az érdekelne nagyon.
Gondolom anélkül hogy grafikus lenne, az egerészés nem megoldható...
program menupelda;
uses crt;
const
fel=#72;
le=#80;
var
ch : char;
begin
repeat
repeat
writeln('menü példa');
writeln;
writeln('1 : alma');
writeln('2 : körte');
writeln('3 : barack');
ch := readkey;
if ch = #0 then ch := readkey;
until (ch<>'1') or (ch<>'2') or (ch<>'3') or (ch<>#27);
case ch of
'1': begin
writeln('piros alma');
readln;
end;
'2' : begin
writeln('piros körte ');
readln;
end;
'3': begin
writeln('piros barack');
readln;
end;
end;
until(ch=#27);
end.
+ Természetesen az egérkezelés is megoldható karakteres képernyőn is, meg a DOS-ból örökölt régi grafikus unitot használva is, de emlékeim szerint a platformfüggetlenség nincs igazán megoldva, linuxosként javaslom, hogy túlságosan ne merülj el a témában.
Ööö... egyáltalán Free Pascalról beszélünk?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!