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.