![]() |
TPopUpActionBar immer vom Formular verdeckt
Hallo,
ich habe ein Formular, welches mit folgenden Parametern erstellt wird:
Delphi-Quellcode:
Und folgendermaßen gezeichnet wird:
procedure TfrmMessage.CreateParams(var Params: TCreateParams);
const CS_DROPSHADOW = $00020000; begin inherited CreateParams(Params); // Check if Windows XP or higher is present for drop shadow feature if ((Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion >= 5) and (Win32MinorVersion >= 1)) then Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW; Params.Style := (Params.Style and not WS_CAPTION) or WS_POPUP; Params.ExStyle := Params.ExStyle or WS_EX_TOOLWINDOW or WS_EX_NOACTIVATE or WS_EX_TOPMOST ; Params.WndParent := GetDesktopWindow; end;
Delphi-Quellcode:
Nun nutze ich auf dem Formular die TPopupActionBar als Popup-Menü, welches mithilfe der Prozedur "PopUp()" aufgerufen wird.
{ Ecken abrunden }
DeleteObject(HRgn); HRgn := CreateRoundRectRgn(0, 0, frmMessage.Width, frmMessage.Height, 5, 5); SetWindowRgn(frmMessage.Handle, HRgn, True); { Farbverlauf im Hintergrund } DrawGradient(frmMessage.Canvas, frmMessage.ClientRect, false, [Settings.BgColorFrom, Settings.BgColorTo]); { Fensterrahmen } frmMessage.canvas.Brush.Style := bsClear; frmMessage.canvas.Pen.Color := clGray; frmMessage.canvas.RoundRect(0, 0, frmMessage.ClientWidth - 1, frmMessage.ClientHeight - 1, 5, 5); Das Problem ist nun, dass das Context-Menü IMMER hinter dem Formular erscheint und nicht über dem Formular, sodass man es nicht nutzen kann. Das merkwürdige ist, dass es mit TPopUpMenu ohne Problem funktioniert. Ich habe außerdem folgendes merkwürdiges Phänomen beobachtet: Wenn ich ca. 10-20 Mal versuche das Context-Menü zu öffnen, funktioniert es auf einmal, dass es im Vordergrund erscheint. Danach klappt es solange, bis ich dieses Formular schließe und wieder neu öffne. Wie kann ich nun das Context-Menü in den Vordergrund bekommen? Gruß Sascha |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz