Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Своя картинка в фоне GUI (http://forum.oszone.net/showthread.php?t=143597)

sashadeg 26-06-2009 21:55 1152720

Своя картинка в фоне GUI
 
Как можно поставить в фон GUI свою картинку? через GuiCtrlCreatePic не получается - закрывает другие элементы...

Creat0R 26-06-2009 22:07 1152727

Цитата:

Цитата sashadeg
через GuiCtrlCreatePic не получается - закрывает другие элементы... »

Картинку нужно "задисейблить": GUICtrlSetState($nPicID, $GUI_DISABLE)

sashadeg 26-06-2009 23:59 1152787

Спасибо учитеЛЪ
А можно в GUI .png поставить? А то у меня тока gif и jpg работает...

==================================
Вопрос не в тему: У можно сделать чтобы у GUI она небыло ВООБЩЕ бордюров... и Без Строки Заголовка (и канешна без свернуть, развернуть, закрыть...)

proxy 27-06-2009 00:21 1152793

Цитата:

Цитата sashadeg
У можно сделать чтобы у 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

Creat0R 27-06-2009 00:24 1152795

Цитата:

Цитата sashadeg
можно в GUI .png поставить? »

Можно.

Цитата:

Цитата sashadeg
можно сделать чтобы у GUI она небыло ВООБЩЕ бордюров »

Используй стиль $WS_POPUP.

Цитата:

Цитата proxy
Не бойся эксперементировать »

Да тут другой случай - просто справка игнорируется :read:

sashadeg 27-06-2009 10:23 1152911

Ребята, у меня в РУССКОЙ справке НЕТУ этого!!! А по английски я токо HI, bye-bye...

FlatX007 27-06-2009 11:12 1152936

А чё нет-то ?

sashadeg 27-06-2009 11:23 1152940

Цитата:

Цитата proxy
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 1152957

Это зарегистрированная функция она обрабатывает события вместо 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)

Creat0R 27-06-2009 18:08 1153203

Цитата:

Цитата FlatX007
Это зарегистрированная функция она обрабатывает события вместо GUIGetMsg »

Ну зачем дизинформировать? Эта функция для того чтобы можно было перетаскивать GUI за любое место (ведь заголовка нет). Хотя в последних бетках это уже не нужно, там если испольщуется стиль $WS_POPUP, то GUI и так перетаскивается.

proxy 27-06-2009 18:20 1153212

Цитата:

Цитата Creat0R
Хотя в последних бетках это уже не нужно, там если испольщуется стиль $WS_POPUP, то GUI и так перетаскивается. »

уммм, тогда, наверно, будет стиль отменяющий "свободное перетаскивание"....
....о релизе не слышно, когда?

FlatX007, :no:

Creat0R 27-06-2009 19:22 1153260

Цитата:

Цитата proxy
наверно, будет стиль отменяющий "свободное перетаскивание" »

Цитата:

Цитата Help For 3.1.1.0
You can enable window draging for GUI without $WS_CAPTION by using $WS_EX_CONTROLPARENT in the exStyle parameter.


proxy 27-06-2009 19:41 1153277

Цитата:

Цитата Creat0R
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 объектов)

а это:
Цитата:

наверно, будет стиль отменяющий "свободное перетаскивание"
были размишления в слух. Т.к. если:
Цитата:

Цитата Creat0R
Хотя в последних бетках это уже не нужно, там если испольщуется стиль $WS_POPUP, то GUI и так перетаскивается »

то должна быть и отмена перетаскиванию GUI, которое будет по умолчанию при $WS_POPUP, - вдруг мне это будет не нужно ?! ))

или я путаю?

Creat0R 27-06-2009 19:56 1153292

Цитата:

Цитата proxy
у меня не работает....окно не перемешается »

Это в 3.1.1.0?

Цитата:

Цитата proxy
должна быть и отмена перетаскиванию GUI »

Это естественно делается убиранием стиля $WS_EX_CONTROLPARENT.

Цитата:

Цитата proxy
будет по умолчанию при $WS_POPUP »

Нет, это ExStyle, а WS_POPUP это Style, просто если не будет указан $WS_CAPTION (это и есть область заголовка окна) в стилях, то WS_EX_CONTROLPARENT заставит GUI перемещаться за мышкой при её удерживании.

Цитата:

Цитата proxy
или я путаю? »

Ну, у тебя действительно в последнее время проблемы с пониманием... может пора перестать пить? :lazy:

proxy 27-06-2009 20:10 1153310

Цитата:

Цитата Creat0R
Нет, это ExStyle, а WS_POPUP это Style, просто если не будет указан $WS_CAPTION (это и есть область заголовка окна) в стилях, то WS_EX_CONTROLPARENT заставит GUI перемещаться за мышкой при её удерживании. »

рррррррр, Creat0R, ну это то все само-собой понятно как день....и что ёжики в лесу...а кроты в норах ...и т.д. ))

Цитата:

Цитата Creat0R
Это в 3.1.1.0? »

нет конечно, в 3, 3, 0, 0 ....

Цитата:

Цитата Creat0R
Это естественно делается убиранием стиля $WS_EX_CONTROLPARENT. »

все понятно - мы сейчас друг друга - совершенно не поняли )

Цитата:

Цитата Creat0R
Ну, у тебя действительно в последнее время проблемы с пониманием... может пора перестать пить? »

хе-хе-хе )))) Creat0R, ...)))))))) а не пью я - совершенно не пью спиртного ))) и не курю ))) ....а вот понимание да - смайлик как раз, что надо :)

sashadeg 27-06-2009 21:15 1153353

А я ваще НИЧЕГО не понял из Вашей писанины xDDDDD

Creat0R 27-06-2009 21:23 1153362

Цитата:

Цитата proxy
это то все само-собой понятно как день »

Тогда зачем писать что оно не работает, если используется не бета, а финалка? (кстати в моей цитате из справки явно указанно, что версия 3.1.1.0).
Скачай бету, почитай список изменении + справку в разделах где были изменения - тогда вопросы сразу отпадут ;).

Цитата:

Цитата proxy
не пью я - совершенно не пью спиртного ))) и не курю ))) »

Ну это так, в шутку как бы было сказано... и кстати правильно делаешь что не пьёш и не куриш - сам такой (вот уже как 4.5 года) :clapping:

proxy 27-06-2009 21:43 1153380

Цитата:

Цитата Creat0R
Тогда зачем писать что оно не работает, если используется не бета, а финалка? (кстати в моей цитате из справки явно указанно, что версия 3.1.1.0). »

ага, ступил я :gigi:, подумал, что раз версия младше финалки (кторая у меня 3,3,0,0), то она была когда-то раньше релизом, и уж тем более не бетта. Поэтому и решил то, что для 3,1,1,0, все таки, попробовать на 3,3,0,0 ....

Цитата:

Цитата Creat0R
(вот уже как 4.5 года) »

Cool :up: Крутые прогеры не только в кодинге совершенствуются, но и личные качества прокачивают ))


Время: 14:49.

Время: 14:49.
© OSzone.net 2001-