Что нового

Окно без кнопок управления + $WS_SIZEBOX (изменение размера мышкой)

The Dream

Новичок
Сообщения
393
Репутация
3
Вот такая простая задача, как сделать окно без кнопок управления и чтобы при этом был эффект от флага $WS_SIZEBOX? :whistle:

Код:
$hGUI = GUICreate($sContainer, $iWidth, $iHeight, -1, -1, $WS_SIZEBOX + 524288, $WS_EX_TOOLWINDOW)


Кто хорошо разбирается, подскажите пожалуйста, что за флаг имеет код 524288 - я его указал давно, но вот теперь уже не помню что именно он делает...
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
Zalman1980 сказал(а):
подскажите пожалуйста, что за флаг имеет код 524288 - я его указал давно, но вот теперь уже не помню что именно он делает...
А самому то слабо? Идём сюда. Смотрим ссылку на стили. Переводим число из десятичного в шестнадцатиричный. Получаем 80000. Смотрим, что соответствует этому числу.
$WS_SYSMENU 0x00080000 Добавляет окну системное меню на иконке в заголовке и на кнопке, находящейся на панели задач. Визуально добавляет иконку и кнопку "Закрыть" в заголовке. Необходим стиль $WS_CAPTION.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Zalman1980
Вроде как с помощью стилей невозможно
Вот пример окна плеера, где такое сделано вручную:
http://autoit-script.ru/index.php/topic,12193.0.html
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
WSWR [?]
Вроде как с помощью стилей невозможно
Похоже, можно:
Код:
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>

$hGUI = GUICreate('Test', 300, 300, -1, -1, BitOR($WS_POPUP, $WS_SIZEBOX), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUIRegisterMsg($WM_NCHITTEST, '_WM_NCHITTEST')
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd

Func _WM_NCHITTEST($h_Wnd, $i_Msg, $i_wParam, $i_lParam)
	Switch $h_Wnd
		Case $hGui
			If _WinAPI_DefWindowProc($h_Wnd, $i_Msg, $i_wParam, $i_lParam) = $HTCLIENT Then Return $HTCAPTION
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>_WM_NCHITTEST
 
Верх