Einzelnen Beitrag anzeigen

Benutzerbild von cheatzs
cheatzs

Registriert seit: 31. Aug 2003
Ort: Altenburg
81 Beiträge
 
#1

Toolbar im RebarControl wie ein normales Menu

  Alt 19. Dez 2004, 13:08
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
Miniaturansicht angehängter Grafiken
toolbar_818.jpg  
Thomas Low
THX und viel Spaß beim Coden
Cheatzs
  Mit Zitat antworten Zitat