death pax Posted February 27, 2006 Share Posted February 27, 2006 Is there anyway i can make it so that when i click on a gui, it doesnt try to become active? Link to comment Share on other sites More sharing options...
seandisanti Posted February 27, 2006 Share Posted February 27, 2006 Is there anyway i can make it so that when i click on a gui, it doesnt try to become active?you could disable it... winsetstate($gui,"",@SW_DISABLE) i think... Link to comment Share on other sites More sharing options...
death pax Posted February 27, 2006 Author Share Posted February 27, 2006 (edited) i tried that, but then it didnt show up at all Edit: er it didnt do anything, the gui still is still becoming active Edited February 27, 2006 by death pax Link to comment Share on other sites More sharing options...
death pax Posted February 27, 2006 Author Share Posted February 27, 2006 ok heres the deal. i have an overlay that is being displayed over a fullscreen game. however when the game looses focus while in fullscreen, opengl crashes. so to avoid that i want to keep my overlay from getting focus Link to comment Share on other sites More sharing options...
seandisanti Posted February 27, 2006 Share Posted February 27, 2006 ok heres the deal. i have an overlay that is being displayed over a fullscreen game. however when the game looses focus while in fullscreen, opengl crashes. so to avoid that i want to keep my overlay from getting focusare you able to run the game in windowed mode? Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted February 27, 2006 Moderators Share Posted February 27, 2006 (edited) Don't you think it would be more beneficial to at least post your gui source? Edit: Here's a stab at it, since there is no source, no game mentioned, no example. #include <guiconstants.au3> $main = GUICreate('test', 200, 100) $b = GUICtrlCreateButton('testb', 70, 35, 60, 30, $WS_DISABLED) GUISetState() While 1 $msg = GUIGetMsg() Select Case $msg = - 3 ExitLoop Case $msg = $GUI_EVENT_PRIMARYDOWN GUICtrlSetState($b, $GUI_DISABLE); just to show that you can actually disable other controls with primary button clicked ContinueLoop Case $msg = $b MsgBox(0, 'oops', ''); should never get this EndSelect Sleep(10) WEnd Edited February 27, 2006 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
death pax Posted February 27, 2006 Author Share Posted February 27, 2006 (edited) expandcollapse popup; ---------------------------------------------------------------------------- ; Crosshair Overlay ; AutoIt Version: 3.1.1 ; Author: Death Pax <death_pax@msn.com ; ; Script Function: ; Generates a crosshair overlay ; ; ---------------------------------------------------------------------------- ; Script Start - Add your code below here #include <GUIConstants.au3> opt("traymenumode",1) $aboutitem = TrayCreateItem("About") $Exititem = TrayCreateItem("Exit") $gui = GUICreate("Window",50,50,@DesktopWidth/2-17,@DesktopHeight/2-24,$WS_POPUP,BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) GUISetState(@SW_SHOW) UpdateTextWindow($gui,"ยค",50,50,"Lucida Sans Unicode",1,@DesktopWidth/2-17,@DesktopHeight/2-24,0xFF0000) While 1 $msg = TrayGetMsg() Select Case $msg = $aboutitem Msgbox(64,"About:","Crosshair v1 "&@CRLF&"Created by Death Pax") Case $msg = $exititem Exit EndSelect winsetstate($gui,"",@SW_DISABLE) GuiSetCursor(16,1,$gui) Wend Func UpdateTextWindow($hwnd,$zText,$width,$height,$font="Lucida Sans Unicode",$weight=1,$x=-1,$y=-1,$color=-1) Local Const $ANSI_CHARSET = 0 Local Const $OUT_CHARACTER_PRECIS = 2 Local Const $CLIP_DEFAULT_PRECIS = 0 Local Const $PROOF_QUALITY = 2 Local Const $FIXED_PITCH = 1 Local Const $RGN_XOR = 3 If $font = "" Then $font = "Microsoft Sans Serif" If $weight = -1 Then $weight = 1000 If $color <> -1 Then GUISetBkColor($color,$hwnd) Else GUISetBkColor(0xFF0000,$hwnd) EndIf Local $hDC= DLLCall("user32.dll","int","GetDC","hwnd",$hwnd) Local $hMyFont = DLLCall("gdi32.dll","hwnd","CreateFont","int",$height, _ "int",0,"int",0,"int",0,"int",1000,"int",0, _ "int",0,"int",0,"int",$ANSI_CHARSET, _ "int",$OUT_CHARACTER_PRECIS,"int",$CLIP_DEFAULT_PRECIS, _ "int",$PROOF_QUALITY,"int",$FIXED_PITCH,"str",$font ) Local $hOldFont = DLLCall("gdi32.dll","hwnd","SelectObject","int",$hDC[0], _ "hwnd",$hMyFont[0]) DLLCall("gdi32.dll","int","BeginPath","int",$hDC[0]) DLLCall("gdi32.dll","int","TextOut","int",$hDC[0],"int",0,"int",0, _ "str",$zText,"int",StringLen($zText)) DLLCall("gdi32.dll","int","EndPath","int",$hDC[0]) Local $hRgn1 = DLLCall("gdi32.dll","hwnd","PathToRegion","int",$hDC[0]) Local $rc = DLLStructCreate("int;int;int;int") DLLCall("gdi32.dll","int","GetRgnBox","hwnd",$hRgn1[0], _ "ptr",DllStructGetPtr($rc)) Local $hRgn2 = DLLCall("gdi32.dll","hwnd","CreateRectRgnIndirect", _ "ptr",DllStructGetPtr($rc)) DLLCall("gdi32.dll","int","CombineRgn","hwnd",$hRgn2[0],"hwnd",$hRgn2[0], _ "hwnd",$hRgn1[0],"int",$RGN_XOR) DLLCall("gdi32.dll","int","DeleteObject","hwnd",$hRgn1[0]) DLLCall("user32.dll","int","ReleaseDC","hwnd",$hwnd,"int",$hDC[0]) DLLCall("user32.dll","int","SetWindowRgn","hwnd",$hwnd,"hwnd",$hRgn2[0],"int",1) DLLCall("gdi32.dll","int","SelectObject","int",$hDC[0],"hwnd",$hOldFont[0]) EndFunc Edited February 27, 2006 by death pax Link to comment Share on other sites More sharing options...
death pax Posted February 28, 2006 Author Share Posted February 28, 2006 (edited) maybe im what i need is to be able to click *through* the window... any suggestions? Edited February 28, 2006 by death pax Link to comment Share on other sites More sharing options...
death pax Posted February 28, 2006 Author Share Posted February 28, 2006 darn... still nothing? maybe i should ask larry... since i created it based off of his text window dll calls 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