Entwickler-Ecke

Programmierwerkzeuge - menü einschieben


chrisx - Sa 04.12.04 20:12
Titel: menü einschieben
hi, ich habe ein programm geschrieben, dass maximiert gestartet wird (es füllt also den ganzen bildschirm aus.
das soll auch so bleiben, aber dennoch möchte ich ein mainmenü haben.
das mainmenü soll erscheinen, wenn ich mit der maus an den oberen bildschirmrand fahre.
wenn ich mit der maus wieder weggehe , soll das mainmenü wieder verschwinden.

kann mir jemand helfen?
wäre sehr dankbar.

ps. ich hoffe ich habe meie frage verständlich geschrieben ;-)


AXMD - Sa 04.12.04 20:51

Pack das Menü in eine Toolbar und nimm das OnMouseMove-Event der Form her (Mauskoordinaten abfragen). Ist zwar unschön, aber es müsste funktionieren ;)

AXMD


chrisx - Sa 04.12.04 21:06

geht das nicht auch einfacher?
ich bin nämlich delphi anfänger.

aber trotzdem danke für deinen tipp


herzi - Sa 04.12.04 21:33

Sieht aber nicht gut aus...

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  show:boolean;
  i:integer;
begin
  if y<10 then
    show:=true
  else
    show:=false;

  for i:=0 to Mainmenu1.Items.Count-1 do
    Mainmenu1.Items[i].Visible:=show;
end;


chrisx - Sa 04.12.04 21:51

vielen dank.
so schlimm sieht es nicht aus (ich habe die toolbar so klein ,wie möglich gemacht).
und für meine anforderungen reicht es völlig.
(fast) genau so habe ich mir das vorgestellt.

ich habe den code nur etwas verändert:

vorher:

Quelltext
1:
2:
3:
begin  
  if y<10 then  
    show:=true


nacher:

Quelltext
1:
2:
3:
begin  
  if y<0.01 then
    show:=true



danke.
hiermit ist mein problem gelöst. ;-)


AXMD - Sa 04.12.04 21:55

:shock: Deine Toolbar ist nur 0,01 Pixel groß :gruebel:

AXMD


StefanH - Sa 04.12.04 22:03

ist y nicht integer? :shock: