Menüleiste Färben

  • Hallo,
    ich hab mir ein programm geschrieben, das quasi nur aus einer menüleiste besteht.
    über die einzelnen menüpunkte kann man verschiedene order öffnen ohne ständig im explorer herum navigieren zu müssen. :D
    jetzt wollte ich die farbe der leiste ändern, habs erst mal mit GUISetBkColor versucht...
    leider ändert diese funktion nur die farbe der gui und nicht die der leiste :(
    ist es überhaupt möglich die einzufärben? :huh:

    danke im vorraus

  • Ja, das geht schon, aber du bracuhst ein erweitertes ModernMenu :)
    http://www.autoitscript.com/forum/index.php?s=&showtopic=20967&view=findpost&p=563176

    Spoiler anzeigen
    [autoit='Beispiel']

    #include <GUIConstants.au3>
    ;#include "ModernMenu.au3"
    #include <ModernMenuRaw.au3> ; Only unknown constants are declared here

    #NoTrayIcon

    $hMainGUI = GUICreate("Sample Menu")

    ;$bUseAdvMenu = TRUE ; Global variable to switch on/off advanced menu
    ;$bUseAdvTrayMenu = TRUE ; Global variable to switch on/off advanced tray menu
    ;$bUseRGBColors = FALSE; Global variable to change color mode, set TRUE to use RGB color values, default is FALSE

    ; Set default color values - BGR-values!
    SetGreenMenuColors()
    SetBlueTrayColors()
    ;SetOLBlueColors() ; near blue outlook 2003 style
    ;SetOLSilverColors() ; near silver outlook 2003 style

    ; Set flash timeout for tray flashing icons (milliseconds) - default are 750, minimum is 50
    _SetFlashTimeOut(250)
    ; _SetFlashTimeOut() - set back to default

    ; To activate flashing use _TrayIconSetState($ID, 4)
    ; To dactivate flashing use _TrayIconSetState($ID, 8)

    ; !!! To delete menu items please use:
    ; _TrayDeleteItem($nID)
    ; or
    ; _GUICtrlODMenuItemDelete($nID)
    ; !!!
    ;~ $tagMENUINFO ="DWORD cbSize; DWORD fMask; DWORD dwStyle; UINT cyMax; HBRUSH hbrBack; DWORD dwContextHelpID; ULONG_PTR dwMenuData"
    ; File-Menu
    ;~ $FileMenu = GUICtrlCreateMenu("&File")
    $FileMenu = _GUICtrlCreateODTopMenu("&File",$hMainGUI)

    ;~ _GUICtrlMenu_SetMenuBackground(_GUICtrlMenu_GetMenu($hMainGUI),_WinAPI_CreateSolidBrush(0x00FFFF))


    ;~ $ret = DllCall("user32.dll","long","GetMenuInfo","hwnd",GUICtrlGetHandle($FileMenu),"ptr",0)
    ;~ DllStructCreate($tagMENUINFO,$ret[2])
    ;~ DllCall("user32.dll","long","GetMenuInfo","hwnd",GUICtrlGetHandle($FileMenu),"ptr",0)
    $nSideItem1 = _CreateSideMenu($FileMenu)
    _SetSideMenuText($nSideItem1, "My File Menu")
    _SetSideMenuColor($nSideItem1, 0xFFFFFF) ; default color - white
    _SetSideMenuBkColor($nSideItem1, 0x921801) ; bottom start color - dark blue
    _SetSideMenuBkGradColor($nSideItem1, 0xFBCE92) ; top end color - light blue

    ; You can also set a side menu bitmap
    ; !Must be min. 8bppand "bmp"-format
    ; Samples:
    ; _SetSideMenuImage($nSideItem1, @ScriptDir & "\test.bmp")
    ; _SetSideMenuImage($nSideItem1, "test.exe", 178) ; Load the bitmap resource ordinal number 178 from 'test.exe'
    ; _SetSideMenuImage($nSideItem1, "mydll.dll", "#120") ; Load the bitmap resource with name '120' from 'mydll.dll'

    $OpenItem = _GUICtrlCreateODMenuItem("&Open..." & @Tab & "Ctrl+O", $FileMenu)
    _GUICtrlODMenuItemSetIcon(-1, "shell32.dll", -4)
    _GUICtrlODMenuItemSetSelIcon(-1, "shell32.dll", -5)
    $SaveItem = _GUICtrlCreateODMenuItem("&Save" & @Tab & "Ctrl+S", $FileMenu, "shell32.dll", -7)
    _GUICtrlODMenuItemSetSelIcon(-1, "shell32.dll", -79)
    _GUICtrlCreateODMenuItem("", $FileMenu) ; Separator
    $RecentMenu = _GUICtrlCreateODMenu("Recent Files", $FileMenu)
    _GUICtrlCreateODMenuItem("", $FileMenu) ; Separator
    $ExitItem = _GUICtrlCreateODMenuItem("E&xit", $FileMenu, "shell32.dll", -28)

    ; Tools-Menu
    $ToolsMenu = _GUICtrlCreateODTopMenu("&Tools",$hMainGUI)
    $CalcItem = _GUICtrlCreateODMenuItem("Calculator", $ToolsMenu, "calc.exe", 0)
    $CmdItem = _GUICtrlCreateODMenuItem("CMD", $ToolsMenu, "cmd.exe", 0)
    $EditorItem = _GUICtrlCreateODMenuItem("Editor", $ToolsMenu, "notepad.exe", 0)
    $RegeditItem = _GUICtrlCreateODMenuItem("Regedit", $ToolsMenu, "regedit.exe", 0)

    ; View-Menu
    $ViewMenu = _GUICtrlCreateODTopMenu("&View",$hMainGUI)
    $ViewColorMenu = _GUICtrlCreateODMenu("Menu Colors", $ViewMenu, "mspaint.exe", 0)
    $nSideItem2 = _CreateSideMenu($ViewColorMenu)
    _SetSideMenuText($nSideItem2, "Choose a color")
    _SetSideMenuColor($nSideItem2, 0x00FFFF)
    _SetSideMenuBkColor($nSideItem2, 0xD00000)

    $SetDefClrItem = _GUICtrlCreateODMenuItem("Default", $ViewColorMenu, "", 0, 1)
    _GUICtrlCreateODMenuItem("", $ViewColorMenu) ; Separator
    $SetRedClrItem = _GUICtrlCreateODMenuItem("Red", $ViewColorMenu, "", 0, 1)
    $SetGrnClrItem = _GUICtrlCreateODMenuItem("Green", $ViewColorMenu, "", 0, 1)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $SetBlueClrItem = _GUICtrlCreateODMenuItem("Blue", $ViewColorMenu, "", 0, 1)
    _GUICtrlCreateODMenuItem("", $ViewColorMenu) ; Separator
    $SetOLBlueItem = _GUICtrlCreateODMenuItem("Outlook-Blue", $ViewColorMenu, "", 0, 1)
    $SetOLSlvItem = _GUICtrlCreateODMenuItem("Outlook-Silver", $ViewColorMenu, "", 0, 1)
    $ViewStateItem = _GUICtrlCreateODMenuItem("Enable Config", $ViewMenu)
    GUICtrlSetState(-1, $GUI_CHECKED)

    ; Help-Menu
    $HelpMenu = _GUICtrlCreateODTopMenu("&?",$hMainGUI)
    $HelpItem = _GUICtrlCreateODMenuItem("Help Topics" & @Tab & "F1", $HelpMenu, "shell32.dll", -24)
    _GUICtrlCreateODMenuItem("", $HelpMenu) ; Separator
    $AboutItem = _GUICtrlCreateODMenuItem("About...", $HelpMenu)

    ; You can also the same things on context menus
    $GUIContextMenu = GUICtrlCreateContextMenu(-1)
    $ConAboutItem = _GUICtrlCreateODMenuItem("About...", $GUIContextMenu, "explorer.exe", -8)
    _GUICtrlCreateODMenuItem("", $GUIContextMenu) ; Separator
    $ConExitItem = _GUICtrlCreateODMenuItem("Exit", $GUIContextMenu, "shell32.dll", -28)

    GUISetState()

    ; *** Create the tray icon ***
    $nTrayIcon1 = _TrayIconCreate("Tools", "shell32.dll", -13)
    _TrayIconSetClick(-1, 16)
    _TrayIconSetState() ; Show the tray icon

    ; *** Create the tray context menu ***
    $nTrayMenu1 = _TrayCreateContextMenu() ; is the same like _TrayCreateContextMenu(-1) or _TrayCreateContextMenu($nTrayIcon1)
    $TrayExit = _TrayCreateItem("Exit")
    _TrayItemSetIcon(-1, "shell32.dll", -28)

    ; Main GUI Loop

    While 1
    $Msg = GUIGetMsg()

    Switch $Msg
    Case $GUI_EVENT_CLOSE, $ExitItem, $ConExitItem, $TrayExit
    ExitLoop

    Case $AboutItem,$ConAboutItem
    Msgbox(64, "About", "Menu color sample by Holger Kotsch")
    _GUICtrlODMenuItemSetText($OpenItem, "Open thisone or not..." & @Tab & "Ctrl+O")
    _GUICtrlODMenuItemSetText($ConAboutItem, "About this demo")

    Case $ViewStateItem
    If BitAnd(GUICtrlRead($ViewStateItem), $GUI_CHECKED) Then
    GUICtrlSetState($ViewStateItem, $GUI_UNCHECKED)
    GUICtrlSetState($ViewColorMenu, $GUI_DISABLE)
    Else
    GUICtrlSetState($ViewStateItem, $GUI_CHECKED)
    GUICtrlSetState($ViewColorMenu, $GUI_ENABLE)
    EndIf

    Case $SetDefClrItem
    SetCheckedItem($SetDefClrItem)
    SetDefaultMenuColors()

    Case $SetRedClrItem
    SetCheckedItem($SetRedClrItem)
    SetRedMenuColors()

    Case $SetGrnClrItem
    SetCheckedItem($SetGrnClrItem)
    SetGreenMenuColors()

    Case $SetBlueClrItem
    SetCheckedItem($SetBlueClrItem)
    SetBlueMenuColors()

    Case $SetOLBlueItem
    SetCheckedItem($SetOLBlueItem)
    SetOLBlueColors()

    Case $SetOLSlvItem
    SetCheckedItem($SetOLSlvItem)
    SetOLSilverColors()
    EndSwitch
    WEnd

    _TrayIconDelete($nTrayIcon1)

    Func SetCheckedItem($DefaultItem)
    GUICtrlSetState($SetDefClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetRedClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetGrnClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetBlueClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetOLBlueItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetOLSlvItem, $GUI_UNCHECKED)

    GUICtrlSetState($DefaultItem, $GUI_CHECKED)
    EndFunc


    Func SetDefaultMenuColors()
    _SetMenuBkColor(0xFFFFFF)
    _SetMenuIconBkColor(0xDBD8D8)
    _SetMenuSelectBkColor(0xD2BDB6)
    _SetMenuSelectRectColor(0x854240)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    _GUIMenuBarSetBkColor($hMainGUI,$nMenuBkClr)
    EndFunc


    Func SetRedMenuColors()
    _SetMenuBkColor(0xAADDFF)
    _SetMenuIconBkColor(0x5566BB)
    _SetMenuSelectBkColor(0x70A0C0)
    _SetMenuSelectRectColor(0x854240)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    _GUIMenuBarSetBkColor($hMainGUI,$nMenuBkClr)
    EndFunc


    Func SetGreenMenuColors()
    _SetMenuBkColor(0xAAFFAA)
    _SetMenuIconBkColor(0x66BB66)
    _SetMenuSelectBkColor(0xBBCC88)
    _SetMenuSelectRectColor(0x222277)
    _SetMenuSelectTextColor(0x770000)
    _SetMenuTextColor(0x000000)
    _GUIMenuBarSetBkColor($hMainGUI,$nMenuBkClr)
    EndFunc


    Func SetBlueMenuColors()
    _SetMenuBkColor(0xFFB8B8)
    _SetMenuIconBkColor(0xBB8877)
    _SetMenuSelectBkColor(0x662222)
    _SetMenuSelectRectColor(0x4477AA)
    _SetMenuSelectTextColor(0x66FFFF)
    _SetMenuTextColor(0x000000)
    _GUIMenuBarSetBkColor($hMainGUI,$nMenuBkClr)
    EndFunc


    Func SetBlueTrayColors()
    _SetTrayBkColor(0xFFD8C0)
    _SetTrayIconBkColor(0xEE8877)
    _SetTrayIconBkGrdColor(0x703330)
    _SetTraySelectBkColor(0x662222)
    _SetTraySelectRectColor(0x4477AA)
    _SetTraySelectTextColor(0x66FFFF)
    _SetTrayTextColor(0x000000)
    _GUIMenuBarSetBkColor($hMainGUI,$nMenuBkClr)
    EndFunc


    Func SetOLBlueColors()
    _SetMenuBkColor(0xFFFFFF)
    _SetMenuIconBkColor(0xFFEFE3)
    _SetMenuIconBkGrdColor(0xE4AD87)
    _SetMenuSelectBkColor(0xC2EEFF)
    _SetMenuSelectRectColor(0x800000)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    _GUIMenuBarSetBkColor($hMainGUI,$nMenuBkClr)
    EndFunc


    Func SetOLSilverColors()
    _SetMenuBkColor(0xF9F9F9)
    _SetMenuIconBkColor(0xFDFDFD)
    _SetMenuIconBkGrdColor(0xC0A0A0)
    _SetMenuSelectBkColor(0xC2EEFF)
    _SetMenuSelectRectColor(0x800000)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    _GUIMenuBarSetBkColor($hMainGUI,$nMenuBkClr)
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von bernd670 (4. Januar 2010 um 21:03)