Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Toolbar im RebarControl wie ein normales Menu (https://www.delphipraxis.net/36384-toolbar-im-rebarcontrol-wie-ein-normales-menu.html)

cheatzs 19. Dez 2004 13:08


Toolbar im RebarControl wie ein normales Menu
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leutz,
in letzter Zeit habe ich mich mal ein wenig mit der Windows-Api beschäftigt...

Ich möchte gern ein Menu im IE-Style erstellen ...
Dazu gibt es auch im MSDN einen ensprechenden Artikel: MSDN: Create an Internet-Explorer-style Menubar

Nun hab ich das RebarControl und die entsprechend modifizierte MenuBar(wie oben beschrieben) erstellt.
Dabei kommt aber nur eine Menubar mit Buttons raus (siehe Anhang)

Ich möchte allerdings die Menubar in dem Style, dass der Text nur von einer Farbe hinterlegt wird.
Dazu gibt es ebenfalls einen Artikel:
Codeguru

Leider beherrsche ich kaum Visual C++ / C++ ... Ich denke aber der hat das nur mit Hilfe von normalem Zeichnen gemacht ... Also Hintergrund eingefärbt, Text drüber, fertig...

Ich hoffe ihr könnt mir eventuell helfen, wie man das ganze auf Delphi übertragen kann bzw. ob es eine andere Möglichkeit gibt, bei den Style Eigenschaften der Toolbar dieses "Highlighting" anzustellen.

Mein Code sieht bisher so aus:

Code:
  MainMenuText := 'Datei'#0'Bearbeiten'#0'Hilfe'#0#0;

  with MainMenuButtons[0] do begin // Eigenschaften der MenuButtons
    iBitmap := -2;
    idCommand := IDC_MainMenuButton1;
    fsState := TBSTATE_ENABLED;
    fsStyle := TBSTYLE_DROPDOWN OR TBSTYLE_AUTOSIZE;
    dwData := 0;
    iString := 0;
  end;

  with MainMenuButtons[1] do begin
   // ... genau wie [0]
  end;

  with MainMenuButtons[2] do begin
   // ... genau wie [0]
  end;

  hWndMainMenu := CreateWindowEx(0, TOOLBARCLASSNAME, nil,TBSTYLE_FLAT OR WS_CHILD OR
    WS_VISIBLE OR CCS_NODIVIDER OR TBSTYLE_TOOLTIPS OR TBSTYLE_LIST, 0, 0, 0, 0, hWndParent, IDC_MainMenu,
    hInstance, nil); //Menu bzw. Toolbar im "MenuStyle" sollte erstellt werden ... leider nur mit Buttons

  SendMessage(hWndMainMenu,TB_BUTTONSTRUCTSIZE,sizeof(TTBBUTTON),0);
  SendMessage(hWndMainMenu,TB_ADDBUTTONS,length(MainMenuButtons),LPARAM(@MainMenuButtons)); //Buttons hinzufügen
  SendMessage(hWndMainMenu,TB_ADDSTRING,0,LPARAM(@MainMenuText[1])); // Text zu Buttons hinzufügen


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 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