Показать полную графическую версию : [решено] Своя картинка в фоне GUI
sashadeg
26-06-2009, 21:55
Как можно поставить в фон GUI свою картинку? через GuiCtrlCreatePic не получается - закрывает другие элементы...
через GuiCtrlCreatePic не получается - закрывает другие элементы... »
Картинку нужно "задисейблить": GUICtrlSetState($nPicID, $GUI_DISABLE)
sashadeg
26-06-2009, 23:59
Спасибо учитеЛЪ
А можно в GUI .png поставить? А то у меня тока gif и jpg работает...
==================================
Вопрос не в тему: У можно сделать чтобы у GUI она небыло ВООБЩЕ бордюров... и Без Строки Заголовка (и канешна без свернуть, развернуть, закрыть...)
У можно сделать чтобы у GUI она небыло ВООБЩЕ бордюров... и Без Строки Заголовка (и канешна без свернуть, развернуть, закрыть...) »
Не бойся эксперементировать :clapping:
Пример:
Opt('GUIOnEventMode', 1)
Opt('MustDeclareVars', 1)
Opt('TrayIconDebug', 1)
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet('{ESC}', '_Pro_Exit')
Local $hMainWin = GUICreate('Main Win', 300, 300, -1, -1, $WS_POPUP)
GUIRegisterMsg($WM_NCHITTEST, 'WM_NCHITTEST')
GUICtrlCreateLabel('1. Окно со стилем: $WS_POPUP' & @CRLF & @CRLF & '2. Это окно можно перемещать за любую облость, за это отвечает функция: WM_NCHITTEST' & _
@CRLF & @CRLF & '3. Так же, можно перемещать окно за Lable и другие GUI объекты, которым назначен доп. стиль $GUI_WS_EX_PARENTDRAG, как у этого Lable-а' & _
@CRLF & @CRLF & '4. И нажав клавишу ESС, можно телепартироваться в другу вселенную ;-) За это отвечает: HotKeySet', _
20, 20, 270, 280, -1, $GUI_WS_EX_PARENTDRAG)
GUISetState()
While 1
Sleep(10)
WEnd
Func _Pro_Exit()
Exit
EndFunc
Func WM_NCHITTEST($hWnd, $Msg, $wParam, $lParam)
Local $iProc = DllCall('user32.dll', 'int', 'DefWindowProc', 'hwnd', $hWnd, 'int', $Msg, 'wparam', $wParam, 'lparam', $lParam)
If $iProc[0] = $HTCLIENT Then Return $HTCAPTION
Return $GUI_RUNDEFMSG
EndFunc
Поддерживаемые стили можно найти в справке. Русский вариант: Справка > Приложения > Стили управляющих элементов GUI
можно в GUI .png поставить? »
Можно (http://www.autoitscript.com/forum/index.php?showtopic=97043).
можно сделать чтобы у GUI она небыло ВООБЩЕ бордюров »
Используй стиль $WS_POPUP.
Не бойся эксперементировать »
Да тут другой случай - просто справка игнорируется :read:
sashadeg
27-06-2009, 10:23
Ребята, у меня в РУССКОЙ справке НЕТУ этого!!! А по английски я токо HI, bye-bye...
FlatX007
27-06-2009, 11:12
А чё нет-то ?
sashadeg
27-06-2009, 11:23
Func WM_NCHITTEST($hWnd, $Msg, $wParam, $lParam) Local $iProc = DllCall('user32.dll', 'int', 'DefWindowProc', 'hwnd', $hWnd, 'int', $Msg, 'wparam', $wParam, 'lparam', $lParam) If $iProc[0] = $HTCLIENT Then Return $HTCAPTION Return $GUI_RUNDEFMSG EndFunc »
А вот это зачем?
FlatX007
27-06-2009, 12:09
Это зарегистрированная функция она обрабатывает события вместо GUIGetMsg
Да нафиг она тебе нужна .... это пример, воткни стиль $WS_POPUP или ещё какой нито ...
Если больше одного стиля то нужно писать так ...если чё :)
GUICreate('', 300, 600, -1, -1, $WS_BORDER, BitOR($GUI_WS_EX_PARENTDRAG, $WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
или
GUICtrlCreateEdit("", 0, 240, 325, 208, BitOR($ES_AUTOVSCROLL, $WS_VSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_BORDER), $WS_EX_WINDOWEDGE)
Это зарегистрированная функция она обрабатывает события вместо GUIGetMsg »
Ну зачем дизинформировать? Эта функция для того чтобы можно было перетаскивать GUI за любое место (ведь заголовка нет). Хотя в последних бетках это уже не нужно, там если испольщуется стиль $WS_POPUP, то GUI и так перетаскивается.
Хотя в последних бетках это уже не нужно, там если испольщуется стиль $WS_POPUP, то GUI и так перетаскивается. »
уммм, тогда, наверно, будет стиль отменяющий "свободное перетаскивание"....
....о релизе не слышно, когда?
FlatX007, :no:
наверно, будет стиль отменяющий "свободное перетаскивание" »
You can enable window draging for GUI without $WS_CAPTION by using $WS_EX_CONTROLPARENT in the exStyle parameter.
You can enable window draging for GUI without $WS_CAPTION by using $WS_EX_CONTROLPARENT in the exStyle parameter. »
т.е.: Вы можите включить (использовать) перетаскивание для GUI окна без $WS_CAPTION - используя $WS_EX_CONTROLPARENT в параметре доп. стиля.
Верно перевел? ...но у меня не работает....окно не перемешается. работает только в связке: WM_NCHITTEST (для окна) + $GUI_WS_EX_PARENTDRAG (для GUI объектов)
а это: наверно, будет стиль отменяющий "свободное перетаскивание" были размишления в слух. Т.к. если: Хотя в последних бетках это уже не нужно, там если испольщуется стиль $WS_POPUP, то GUI и так перетаскивается » то должна быть и отмена перетаскиванию GUI, которое будет по умолчанию при $WS_POPUP, - вдруг мне это будет не нужно ?! ))
или я путаю?
у меня не работает....окно не перемешается »
Это в 3.1.1.0?
должна быть и отмена перетаскиванию GUI »
Это естественно делается убиранием стиля $WS_EX_CONTROLPARENT.
будет по умолчанию при $WS_POPUP »
Нет, это ExStyle, а WS_POPUP это Style, просто если не будет указан $WS_CAPTION (это и есть область заголовка окна) в стилях, то WS_EX_CONTROLPARENT заставит GUI перемещаться за мышкой при её удерживании.
или я путаю? »
Ну, у тебя действительно в последнее время проблемы с пониманием... может пора перестать пить? :lazy:
Нет, это ExStyle, а WS_POPUP это Style, просто если не будет указан $WS_CAPTION (это и есть область заголовка окна) в стилях, то WS_EX_CONTROLPARENT заставит GUI перемещаться за мышкой при её удерживании. »
рррррррр, Creat0R, ну это то все само-собой понятно как день....и что ёжики в лесу...а кроты в норах ...и т.д. ))
Это в 3.1.1.0? »
нет конечно, в 3, 3, 0, 0 ....
Это естественно делается убиранием стиля $WS_EX_CONTROLPARENT. »
все понятно - мы сейчас друг друга - совершенно не поняли )
Ну, у тебя действительно в последнее время проблемы с пониманием... может пора перестать пить? »
хе-хе-хе )))) Creat0R, ...)))))))) а не пью я - совершенно не пью спиртного ))) и не курю ))) ....а вот понимание да - смайлик как раз, что надо :)
sashadeg
27-06-2009, 21:15
А я ваще НИЧЕГО не понял из Вашей писанины xDDDDD
это то все само-собой понятно как день »
Тогда зачем писать что оно не работает, если используется не бета, а финалка? (кстати в моей цитате из справки явно указанно, что версия 3.1.1.0).
Скачай бету, почитай список изменении + справку в разделах где были изменения - тогда вопросы сразу отпадут ;).
не пью я - совершенно не пью спиртного ))) и не курю ))) »
Ну это так, в шутку как бы было сказано... и кстати правильно делаешь что не пьёш и не куриш - сам такой (вот уже как 4.5 года) :clapping:
Тогда зачем писать что оно не работает, если используется не бета, а финалка? (кстати в моей цитате из справки явно указанно, что версия 3.1.1.0). »
ага, ступил я :gigi:, подумал, что раз версия младше финалки (кторая у меня 3,3,0,0), то она была когда-то раньше релизом, и уж тем более не бетта. Поэтому и решил то, что для 3,1,1,0, все таки, попробовать на 3,3,0,0 ....
(вот уже как 4.5 года) »
Cool :up: Крутые прогеры не только в кодинге совершенствуются, но и личные качества прокачивают ))
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.