Войти

Показать полную графическую версию : [решено] Вопрос по GUI


FlatX007
18-05-2009, 19:50
Вопщем вот ... :)

1. Как мне поменять фон у слайдера ? (у него почемуто серый а фон окна белый и поэтому получается не красиво) гдето на форуме видел но найти немогу.
2. Можно ли поменять шрифт или цвет шрифта в контекстном меню управляющего элемента системной панели (функция TrayCreateMenu)
3. Когда меняю цвет шрифта кнопки - кнопка становиться какой-то плоской и невидно когда на неё нажимаеш , можно как нибудь поменять цвет и что бы при этом кнопка осталось нормальной ?

Тут наверно опять какие стили нужно втыкать ... я в этом пока туго соображаю. :help:

Yashied
18-05-2009, 22:38
1. Как мне поменять фон у слайдера ? (у него почемуто серый а фон окна белый и поэтому получается не красиво) гдето на форуме видел но найти немогу.
2. Можно ли поменять шрифт или цвет шрифта в контекстном меню управляющего элемента системной панели (функция TrayCreateMenu)
3. Когда меняю цвет шрифта кнопки - кнопка становиться какой-то плоской и невидно когда на неё нажимаеш , можно как нибудь поменять цвет и что бы при этом кнопка осталось нормальной ?
Тут наверно опять какие стили нужно втыкать ... я в этом пока туго соображаю. »

1. GUICtrlSetBkColor($Slider, 0xFFFFFF) ; 0xFFFFFF - Белый
2. Стилями тут не обойдешься, это не тривиальная задача.
3. Это баг AutoIt`а, надеюсь, что исправят в следующей beta версии.

Creat0R
18-05-2009, 22:59
Можно ли поменять шрифт или цвет шрифта в контекстном меню управляющего элемента системной панели (функция TrayCreateMenu) »
См. GUI/Tray Menu with icons and colors (http://www.autoitscript.com/forum/index.php?showtopic=20967) на оф. форуме.

Это баг AutoIt`а »
Баг-репорт уже послан? Но я не думаю что это баг, это свойство элементов в Win 2000+. Там просто меняется стиль отображения, который может содержать цветовые элементы.

FlatX007
19-05-2009, 00:18
Creat0R »

Я что-то неосилил на английском ... попробовал у меня неполучилось отделить Gui окно от Трей меню, мне ведь нужно только Трей меню ;)

А можно простой пример на 2 пункта трей меню ? я ведь неосилю, трудно прям так сразу ...

Creat0R
19-05-2009, 00:56
можно простой пример на 2 пункта трей меню ? »
Что оно даст? Вот урезанная версия без GUI:

#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <ModernMenuRaw.au3> ; Only unknown constants are declared here
;

; *** 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)
$nSideItem1 = _CreateSideMenu($nTrayMenu1)

_SetSideMenuText($nSideItem1, "My Tray Menu")
_SetSideMenuColor($nSideItem1, 0x00FFFF) ; yellow; default color - white
_SetSideMenuBkColor($nSideItem1, 0x802222) ; bottom start color - dark blue
_SetSideMenuBkGradColor($nSideItem1, 0x4477AA) ; top end color - orange
;_SetSideMenuImage($nSideItem3, "shell32.dll", 309, TRUE)

$TrayHelp = _TrayCreateItem("Help")
_TrayCreateItem("")
_TrayItemSetIcon(-1, "", 0)
$MenuDrives = _TrayCreateMenu("Drives")
_TrayCreateItem("")
_TrayItemSetIcon(-1, "", 0)
$TrayNotepad = _TrayCreateItem("Notepad")
$TrayCmd = _TrayCreateItem("Cmd")
$TrayCalc = _TrayCreateItem("Calc")
$TrayMSPaint = _TrayCreateItem("MSPaint")
_TrayCreateItem("")
_TrayItemSetIcon(-1, "", 0)
$TrayExit = _TrayCreateItem("Exit")

_TrayItemSetIcon($TrayHelp, "shell32.dll", -24)
GUICtrlSetState(-1, $GUI_DEFBUTTON)

_TrayItemSetIcon($MenuDrives, "shell32.dll", -9)

_TrayItemSetIcon($TrayNotepad, "Notepad.exe", 0)
_TrayItemSetIcon($TrayCmd, "Cmd.exe", 0)
_TrayItemSetIcon($TrayCalc, "Calc.exe", 0)
_TrayItemSetIcon($TrayMSPaint, "MSPaint.exe", 0)

_TrayItemSetIcon($TrayExit, "shell32.dll", -28)

_TrayCreateItem("Free Space:", $MenuDrives)
_TrayItemSetIcon(-1, "shell32.dll", -167)
GUICtrlSetState(-1, $GUI_DISABLE)

_TrayCreateItem("", $MenuDrives)
_TrayItemSetIcon(-1, "", 0)

$arDrives = DriveGetDrive("FIXED")

For $i = 1 To $arDrives[0]
_TrayCreateItem(StringUpper($arDrives[$i]) & " -> " & _
StringFormat("%.2f GB", DriveSpaceFree($arDrives[$i])), $MenuDrives)

_TrayItemSetIcon(-1, "shell32.dll", -9)
Next

While 1
$Msg = GUIGetMsg()

Switch $Msg
Case $TrayExit
ExitLoop
Case $TrayHelp
Msgbox(64, "About", "Menu color sample by Holger Kotsch")
Case $TrayNotepad
Run("Notepad.exe")
Case $TrayCmd
Run("Cmd.exe")
Case $TrayCalc
Run("Calc.exe")
Case $TrayMSPaint
Run("MSPaint.exe")
EndSwitch
WEnd

_TrayIconDelete($nTrayIcon1)

FlatX007
22-05-2009, 16:17
Всё пасиба ...буду пробовать.




© OSzone.net 2001-2012