Что нового

Удалить стиль $WS_BORDER(границы окна) консольного приложения

gloss

Ленивое кодило
Сообщения
155
Репутация
5
Поискав в интернете наткнулся на такой ответ, границы он убирает, но окно начинает искажаться.
До:
39gTuhl.png

После:
M9Dwcf2.png
Можно ли это поправить?
 
Автор
G

gloss

Ленивое кодило
Сообщения
155
Репутация
5
Делает тоже самое и кода чуть поменьше :smile:
Но если убрать $WS_SIZEBOX ничего не происходит.
Код:
$wh = WinGetHandle($namegood)
$Style = _WinAPI_GetWindowLong($wh, $GWL_STYLE) ;Capture Existing Style
If BitAND($Style, $WS_BORDER) = $WS_BORDER Then ;if $WS_SIZEBOX IS Set
	_WinAPI_SetWindowLong($wh, $GWL_STYLE, BitXOR($Style, $WS_BORDER + $WS_SIZEBOX)) ;REMOVE $WS_SIZEBOX
	;_WinAPI_UpdateWindow($wh)
EndIf


В общем *UP*


Добавлено:
Сообщение автоматически объединено:

Так как ответа я не нашел, а самому додумать не получилось ограничился этим
Код:
_changeslyle($name)
Func _changeslyle($winname)
	$wh = WinGetHandle($winname)
	$ExStyle = _WinAPI_GetWindowLong($wh, $GWL_EXSTYLE) ;
	$NewExStyle = BitOR($ExStyle, $WS_EX_LAYERED + $WS_EX_TRANSPARENT) ;позволяет кликать сквозь окно
	_WinAPI_SetWindowLong($wh, $GWL_EXSTYLE, $NewExStyle)
EndFunc
 
Верх