Du möchtest das Popup Menu schließen? wenn du nichts auswählst.
Ich habe das so gelöst.
Bei dir könnte es aber das Problem geben das ein PopUpMenu kein Fensterhandle hat.
Delphi-Quellcode:
var
gP.ProgManHandle := FindWindow('Progman', 'Program Manager');
........
WM_TIMER:
begin
if wP = POPUP_TIMER then
begin
gP.FocusHandle := GetForegroundWindow;
if gP.FocusHandle = gP.ProgManHandle then
begin
if SkinEngine.IsLButtonDown then
begin
KillTimer(WinHandle, POPUP_TIMER);
ShowWindow(WinHandle, SW_HIDE);
if Assigned(SkinPopUpMenu) then
begin
gP.DlgItem := 0;
SkinPopUpMenu.DestroyWindow;
end;
end;
end;
end;
end;
gruss