Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Merge Menu MDI Anwendung (https://www.delphipraxis.net/80114-merge-menu-mdi-anwendung.html)

Sergej_Molotov 3. Nov 2006 07:39


Merge Menu MDI Anwendung
 
Hallo zusammen,

ich programmier gerade eine MDI-Anwendung und möchte gerne die Menüs mergen. Dies ist auch kein Problem aber die grafische Darstellung der zusammengesetzen Menüleiste ist etwas eigenartig. Das Problem kann man nur dann sichbar machen, wenn man unter Windows XP z.B. den "Windows XP Stil" ausgewählt hat.

Startet man meine Anwendung und öffnet ein MDI-Child so wird das Menü zum Teil grau und zum anderen Teil weiß dargestellt.
Ich habe mir dann gedacht, mal ich die Menüleiste mit folgende Routine neu:

Delphi-Quellcode:
procedure TMainForm.updateMenuBar;
var
  fMenuBrush : TBrush;
  MenuInfo : TMenuInfo;
begin
  fMenuBrush      := TBrush.Create;
  fMenuBrush.Color := Windows.GetSysColor(COLOR_MENU);
  MenuInfo.cbSize := SizeOf(MenuInfo);
  MenuInfo.hbrBack := fMenuBrush.Handle;
  MenuInfo.fMask  := MIM_BACKGROUND;
  SetMenuInfo(MainMenu1.Handle, MenuInfo);
  MenuInfo.dwStyle := 0;
  DrawMenuBar(self.handle);
end;

Diese gelingt auch wunderbar, aber die Schaltflächen (also wenn man mit der Maus über das Menu hin und her gleitet) haben einen unterschiedlichen Stil. Das Menü vom Child wird korrket angezeigt, das vom Parent aber nicht mehr.
Maus über ein Child-Menüpunkt : blau
Maus über ein Parent-Menüpunkt: hervorgehoben, weiß (nicht korrekt)

Ich entwickle unter Delphi 5

Vielleicht ist jemanden auch schon dieses Problem aufgefallen und kann mir dabei helfen.

Vielen Dank


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz