Uten Posted March 29, 2006 Posted March 29, 2006 How can I make this "embeded" panel behave when notepad is resized? Now the editor window takes over. and my embeded controls are sort of lost. expandcollapse popup#include <ANYGUIv2.6.au3> #include <guiconstants.au3> ; ------------------------------------------------------------------------------ AutoItSetOption("WinTitleMatchMode", 4) AutoItSetOption("MustDeclareVars",1) ; ------------------------------------------------------------------------------ Global Const $WM_DRAWITEM = 0x002B Global Const $WM_NOTIFY = 0x004E Global Const $BS_OWNERDRAW = 0x0000000B Global Const $BS_NOTIFY = 0x00004000 ; ------------------------------------------------------------------------------ Main() ; ------------------------------------------------------------------------------ Func Main() Local $pid, $winTitle, $hWndTarget, $Child Local $Button1, $Button2 ; Get notepad started $pid = Run("notepad.exe","",@SW_SHOW) Sleep(1000) $winTitle = "Untitled - " if not WInMove($winTitle,"", 0, 0, 400, 400) then msgbox(16, "ERROR", "Could not move window", 5) WinClose($winTitle) Exit Endif $hWndTarget = _GuiTarget ($winTitle, 1); mode 1 set so all '_Targetadd(s) go to this window ControlMove($hWndTarget, "", 15, 0, 0, 300, 400);resize Edit1 control so everything fits $Child = _TargetaddChild ("Test", 301, 0, 98, 400); GUICtrlCreateGroup ("Group 1", 0, 0, 80, 260) $Button1 = GUICtrlCreateButton("Open", 8, 20, 60, 33, BitOR($BS_NOTIFY, $BS_OWNERDRAW) ) $Button2 = GUICtrlCreateButton("Save", 8, 60, 60, 33) GUICtrlCreateGroup ("",-99,-99,1,1) ;close group GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events") GUIRegisterMsg($WM_DRAWITEM, "MY_WM_DRAWITEM") GUISetState(@SW_SHOW); ; MSG LOOP ----------------------------------------------------- dim $msg while 1 $msg = GUIGetMsg() switch $msg case $Button1 ControlSend($hWndTarget,"",15, "^o") case $Button2 ControlSend($hWndTarget,"",15, "^s") case $GUI_EVENT_CLOSE Exit case else if $msg <> 0 then ConsoleWrite("$msg:=" & $msg & @LF) If Not WinExists($hWndTarget) Then Exit sleep(250);Give the system a break..:) endswitch wend Exit EndFunc; ==> Main() Func WM_Notify_Events($hWnd, $Msg, $wParam, $lParam) ConsoleWrite("WM_Notify_Events" & @LF) Return $GUI_RUNDEFMSG; Proceed the default Autoit3 internal message commands EndFunc;==>WM_NOTIFY_EVENTS() Func MY_WM_DRAWITEM($hWnd, $Msg, $wParam, $lParam) ConsoleWrite("MY_WM_DRAWITEM" & @LF) Return $GUI_RUNDEFMSG; Proceed the default Autoit3 internal message commands EndFunc;==>WM_DRAWITEM Any hints or ideas appreciated.test_notepad.au3 Please keep your sig. small! Use the help file. Search the forum. Then ask unresolved questions :) Script plugin demo, Simple Trace udf, TrayMenuEx udf, IOChatter demo, freebasic multithreaded dll sample, PostMessage, Aspell, Code profiling
Lapo Posted March 30, 2006 Posted March 30, 2006 (edited) EDIT: Deleted .. not useful Edited March 30, 2006 by Lapo
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