nf67 Posted February 20, 2008 Share Posted February 20, 2008 Hello there, I've created a very simple script that works like a live subtitle bar when I record my desktop. So I just record and type my comment on what I'm doing in the bar ( which is basically a strechted inputbox ). Because I only record 660x440 pixels I'd rather not waste any space, so I used the WS_POPUP style to remove the window-borders.... but now I can't seem to move the window..? What can I do? My script #include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $commentpile = GUICreate("commentpile", 650, 22, 193, 125, $WS_POPUP) $zooi = GUICtrlCreateInput("zooi", 0, 0, 649, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Thank you, Chris Link to comment Share on other sites More sharing options...
MrCreatoR Posted February 20, 2008 Share Posted February 20, 2008 Hi, try this: #include <GuiConstants.au3> Global Const $WM_LBUTTONDOWN = 0x0201 $HWnd = GUICreate("DRAG GUI", 240, 180, -1, -1, $WS_POPUP+$WS_BORDER) GUIRegisterMsg($WM_LBUTTONDOWN, "WM_LBUTTONDOWN") GUISetState() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam) If BitAND(WinGetState($hWnd), 32) Then Return $GUI_RUNDEFMSG DllCall("user32.dll", "long", "SendMessage", "hwnd", $hWnd, "int", $WM_SYSCOMMAND, "int", 0xF009, "int", 0) EndFunc Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
MrCreatoR Posted February 20, 2008 Share Posted February 20, 2008 but now I can't seem to move the window..? What can I do?Well, you can not move the window only draging the input - you will need some kind of static control to move the parent... #include <GuiConstants.au3> #Region ### START Koda GUI section ### Form= $commentpile = GUICreate("commentpile", 650, 32, 193, 125, $WS_POPUP+$WS_BORDER) GUICtrlCreateLabel("Custom Title", 0, 0, 650, -1, $ES_CENTER, $GUI_WS_EX_PARENTDRAG) GUICtrlSetFont(-1, 7) $zooi = GUICtrlCreateInput("zooi", 0, 10, 649, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
nf67 Posted February 21, 2008 Author Share Posted February 21, 2008 Love it! Just what I was looking for Thanks a lot Link to comment Share on other sites More sharing options...
slayerz Posted March 15, 2008 Share Posted March 15, 2008 Love it! Just what I was looking for Thanks a lot@MsCreatorThanks for the solution, this is what I'm looking for... AUTOIT[sup] I'm lovin' it![/sup] Link to comment Share on other sites More sharing options...
rasim Posted March 16, 2008 Share Posted March 16, 2008 (edited) More examples: #include <GuiConstants.au3> ;Global Const $HTCLIENT = 0x1 ;Global Const $HTCAPTION = 0x2 $hGui = GUICreate("Test", 300, 200, -1, -1, $WS_POPUP + $WS_BORDER) GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST") GUISetState() Do Until GUIGetMsg() = -3 Func WM_NCHITTEST($hWnd, $Msg, $wParam, $lParam) Local $iProc $iProc = DllCall("user32.dll", "int", "DefWindowProc", "hwnd", $hWnd, "int", $Msg, "wparam", $wParam, "lparam", $lParam) $iProc = $iProc[0] If $iProc = $HTCLIENT Then Return $HTCAPTION Return $GUI_RUNDEFMSG EndFunc Edited March 16, 2008 by rasim Link to comment Share on other sites More sharing options...
Zedna Posted March 16, 2008 Share Posted March 16, 2008 Another one: #include <GuiConstants.au3> Opt("GUICloseOnESC",1) Opt("GUIOnEventMode",1) $hGui = GUICreate("Test", 300, 200, -1, -1, $WS_POPUP + $WS_BORDER) GUISetOnEvent ($GUI_EVENT_PRIMARYDOWN, "Drag" ) GUISetState() While 1 Sleep(10) WEnd Func Drag() dllcall("user32.dll","int","SendMessage","hWnd", $hGui,"int",$WM_NCLBUTTONDOWN,"int", $HTCAPTION,"int", 0) EndFunc Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
rover Posted March 18, 2008 Share Posted March 18, 2008 (edited) this thread is timely, so this is as good a place as any. I noticed several days ago that the WM_NCHITTEST method of moving a Gui by it's form no longer works in beta v3.2.11.1 and 3.2.11.2 use the WM_NCLBUTTONDOWN method was working up to v3.2.10.0 (tested on 3.2.8.1 and 3.2.10.0) tested on 2 machines running XP SP2 EN X86 AutoIt: beta v3.2.11.1 and v3.2.11.2 SciTE4AutoIt3: 8-3-2008 Edit: typos test in beta #include <GuiConstantsEx.au3> #include <WindowsConstants.au3> $hGui = GUICreate("Test", 300, 200, -1, -1) GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST") GUISetState() Do $msg = GUIGetMsg() Until $msg = -3 Func WM_NCHITTEST($hWnd, $Msg, $wParam, $lParam) Local $iProc $iProc = DllCall("user32.dll", "int", "DefWindowProc", _ "hwnd", $hWnd, "int", $Msg, "int", $wParam, "int", $lParam) If @error Then SetError(@error, 0, 0) $iProc = $iProc[0] If $iProc = $HTCLIENT Then Return $HTCAPTION Return $GUI_RUNDEFMSG EndFunc Edited March 18, 2008 by rover I see fascists... Link to comment Share on other sites More sharing options...
ResNullius Posted March 18, 2008 Share Posted March 18, 2008 this thread is timely, so this is as good a place as any.I noticed several days ago that the WM_NCHITTEST method of moving a Gui by it's formno longer works in beta v3.2.11.1 and 3.2.11.2use the WM_NCLBUTTONDOWN methodwas working up to v3.2.10.0 (tested on 3.2.8.1 and 3.2.10.0)tested on 2 machines running XP SP2 EN X86AutoIt: beta v3.2.11.1 and v3.2.11.2SciTE4AutoIt3: 8-3-2008Edit: typostest in betaVerified also with beta 3.2.11.3, XP PRO SP2 EN x86Time for a bug report? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now