Что нового

Вопрос по стилям GUI

OXIGEN

Новичок
Сообщения
30
Репутация
0
Всем здравствуйте. Есть небольшой вопросик по стилям окна GUI.

В этом примере, окно прозрачное, но отображается иконка в трее, причём не маленькая справа,
(она убирается "#NoTrayIcon") , а большая слева у значка "ПУСК".

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
;#NoTrayIcon

$Main_GUI = GUICreate("", 255, 30, 875, 215, $WS_POPUP, $WS_EX_TOPMOST + $WS_EX_LAYERED);, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)) 
GUISetBkColor(0x008001)
GUICtrlCreateLabel("00000", 10, 4, 80, 60)
GUICtrlSetFont(-1, 14, 700, 0)
GUICtrlSetColor(-1, 0xFFDD00)
_WinAPI_SetLayeredWindowAttributes($Main_GUI, 0x008001, 0, $LWA_COLORKEY)
GUISetState(@SW_SHOW)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
                ExitLoop    
   
      EndSwitch
WEnd

А в этом примере, значок НЕ отображается, но и окно не прозрачное.

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
;#NoTrayIcon

$Main_GUI = GUICreate("", 255, 30, 875, 215,  BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)) 
GUISetBkColor(0x008001) ; цвет фона

GUICtrlCreateLabel("00000", 10, 4, 80, 60)
GUICtrlSetFont(-1, 14, 700, 0)
GUICtrlSetColor(-1, 0xFFDD00)

_WinAPI_SetLayeredWindowAttributes($Main_GUI, 0x008001, 0, $LWA_COLORKEY)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
                ExitLoop    
         EndSwitch
WEnd


Моно помирить стили как-то и сделать, и что-бы окно было прозрачное и большая иконка слева не отображалась?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Код:
$Main_GUI = GUICreate("", 255, 30, 875, 215,  BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST, $WS_EX_LAYERED))
 
Автор
O

OXIGEN

Новичок
Сообщения
30
Репутация
0
Спасибо большое! Но всё равно есть бордюрчик вокруг окна, если убираю $WS_BORDER, то ошибка...

Код:
$Main_GUI = GUICreate("", 255, 30, 875, 215,  $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST + $WS_EX_LAYERED))


Вроде так решил)
 
Последнее редактирование:

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
если убираю $WS_BORDER, то ошибка
BitOR принимает минимум два параметра. Но это не означает, что только два. Это я к тому, что "+" не нужен. Сделайте как у меня - через запятую.
 
Верх