GuiGetStyle Re: GuiSetStyle
"valery_vi" <[email protected]> Mon, 20 Aug 2007 05:37:30 -0000
| Newsgroups | gmane.comp.windows.autoit.user |
|---|---|
| Message-ID | <[email protected]> |
Hi,
After v3.2.5.6 (beta) release you can use GuiSetStyle.
Below is an example of func GuiGetStyle:
#include <GuiConstants.au3>
$NewStyle = False
$hWnd = GuiCreate("Gui Style", 260, 100)
$Style = GUICtrlCreateButton("Set Style",45, 50, 150, 20 )
$GuiStyle = GuiGetStyle($hWnd)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
Exit
Case $Style
if not $NewStyle then
GuiSetStyle($WS_POPUPWINDOW+$WS_THICKFRAME,$WS_EX_CLIENTEDGE +
$WS_EX_TOOLWINDOW)
GuiCtrlSetData($Style,'Undo Style')
$NewStyle = True
else
GuiSetStyle($GuiStyle[0],$GuiStyle[1])
GuiCtrlSetData($Style,'Set Style')
$NewStyle = False
endif
Case Else
EndSwitch
WEnd
;===================================
; get default GUI styles
; returns a two-element array that containing the gui style information:
; $array[0] = style
; $array[1] = exStyle
func GuiGetStyle($hWnd)
local $Style[2]
$res = DllCall("User32.dll", "int", "GetWindowLong", "hwnd", $hWnd,
"int", -16)
$Style[0] = $res[0]
$res = DllCall("User32.dll", "int", "GetWindowLong", "hwnd",
$hWnd, "int", -20)
$Style[1] = $res[0]
Return $Style
endfunc
Valery
--- In [email protected], "valery_vi" <shehrer1@...> wrote:
>
> Quick version of it:
>
> #include <GuiConstants.au3>
> $NewStyle = False
> $hWnd = GuiCreate("Gui Style", 260, 100)
> $Style = GUICtrlCreateButton("Set Style",45, 50, 150, 20 )
> GUISetState()
>
> While 1
> $Msg = GUIGetMsg()
> Switch $Msg
> Case -3
> Exit
> Case $Style
> if not $NewStyle then
> GuiSetStyle($WS_POPUPWINDOW+$WS_THICKFRAME,$WS_EX_CLIENTEDGE +
> $WS_EX_TOOLWINDOW)
> GuiCtrlSetData($Style,'Undo Style')
> $NewStyle = True
> else
> GuiSetStyle()
> GuiCtrlSetData($Style,'Set Style')
> $NewStyle = False
> endif
> Case Else
> EndSwitch
> WEnd
>
> ;Set Gui Styles
> func GuiSetStyle($Style=-1,$ExStyle=0)
> Global $GWL_STYLE = -16
> Global $GWL_EXSTYLE = -20
> if $Style=-1 then
> $Style=$WS_MINIMIZEBOX+$WS_CAPTION+$WS_POPUP+$WS_SYSMENU
> $res = DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd,
> "int", $GWL_STYLE, "int", $Style)
> $res = DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd,
> "int", $GWL_EXSTYLE, "int", $ExStyle)
> DllCall("User32.dll", "int", "SetWindowPos", "hwnd", $hWnd, "hwnd",
> 0, "int", 0, "int", 0, "int", 0, "int", 0, "int", 0x47)
> endfunc
>
> Valery
>
> --- In [email protected], "valery_vi" <shehrer1@> wrote:
> >
> > Hi,
> >
> > I saw Q about this subject. So, you can use this func GuiSetStyle to
> > reset style of GUI very easy. Try this GuiStyle.au3 :
> >
> > #include <GuiConstants.au3>
> > $NewStyle = False
> > $hWnd = GuiCreate("Gui Style", 260, 100)
> > $Style = GUICtrlCreateButton("Set Style",45, 50, 150, 20 )
> > GUISetState()
> >
> > While 1
> > $Msg = GUIGetMsg()
> > Switch $Msg
> > Case -3
> > Exit
> > Case $Style
> > if not $NewStyle then
> > GuiSetStyle($WS_POPUPWINDOW+$WS_THICKFRAME,$WS_EX_CLIENTEDGE +
> > $WS_EX_TOOLWINDOW)
> > GuiCtrlSetData($Style,'Undo Style')
> > $NewStyle = True
> > else
> > GuiSetStyle()
> > GuiCtrlSetData($Style,'Set Style')
> > $NewStyle = False
> > endif
> > Case Else
> > EndSwitch
> > WEnd
> >
> > ;Set Gui Styles
> > func GuiSetStyle($Style=-1,$ExStyle=0)
> > Global $GWL_STYLE = -16
> > Global $GWL_EXSTYLE = -20
> > if $Style=-1 then
> > $Style=$WS_MINIMIZEBOX+$WS_CAPTION+$WS_POPUP+$WS_SYSMENU
> > $res = DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd,
> > "int", $GWL_STYLE, "int", $Style)
> > $res = DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd,
> > "int", $GWL_EXSTYLE, "int", $ExStyle)
> > WinSetState($hWnd,'', @SW_HIDE)
> > WinSetState($hWnd,'', @SW_SHOW)
> > endfunc
> >
> > Enjoy,
> > Valery
> >
>