Einzelnen Beitrag anzeigen

100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#1

Problem mit TPopupMenu.OnClose

  Alt 4. Mai 2005, 09:13
hallo zusammen,

ich habe eine form7 (hauptform = form1) die in jede titelleiste passt und sich mit diesem code immer im vordergrund hält:
Delphi-Quellcode:
procedure TForm7.Timer1Timer(Sender: TObject);
begin
with Self do
  SetWindowPos(Handle,
               HWND_TOPMOST,
               Left,
               Top,
               Width,
               Height,
               SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
(ist von swissdelphicenter.ch)
funktioniert wunderbar. bei einem klick auf einen button öffnet sich ein popupmenu, das ev. bis über 100 items haben kann, und dadurch auch die form7 teilweise verdeckt. nun gibts grosse grafikprobleme, da die form7 ja im vordergrund sein will...
ich habe das so gelöst, dass beim öffnen vom popupmenu der timer1 abgeschaltet wird. dann muss er aber beim schliessen vom popupmenu wieder eingeschaltet werden.
gesagt, getan! mit diesem code fange ich das ereignis "popupmenu.OnClose" ab, und der timer wird eingeschaltet.
funktioniert wunderbar.

nur funktionieren jetzt alle popupmenus vom ganzen programm nicht mehr, das heisst, die popupmenus werden geöffnet, aber bei einem klick auf ein item wird die procedute nicht ausgelöst. entferne ich diesen code wieder, funktioniert alles wieder...

weiss jemand, was das problem ist? wie kann ich es lösen?

vielen dank schon im voraus.
  Mit Zitat antworten Zitat