PantZ4 Posted May 4, 2008 Posted May 4, 2008 So how do I hide a Graphic Control? I tried $WIZZARD_GUI_Graphicline_Control=GUICtrlCreateGraphic(0,170,496,1) ;Draw something in here GUICtrlSetState($WIZZARD_GUI_Graphicline_Control,$GUI_HIDE) But that doesn't hide the control. Any special rules about Graphic Controls, or am I doing it wrong?
Zedna Posted May 4, 2008 Posted May 4, 2008 Use GUICtrlDelete() Resources UDF ResourcesEx UDF AutoIt Forum Search
PantZ4 Posted May 4, 2008 Author Posted May 4, 2008 Doesn't that mean I would have to recreate it? I just want to hide the control for a bit of time.
martin Posted May 4, 2008 Posted May 4, 2008 Doesn't that mean I would have to recreate it? I just want to hide the control for a bit of time.Either you delete it and then recreate it or you hide it by putting something in front. If the background is just plain then it is fairly easy to hide it. $gp = ControlGetPos($hWnd,'',$grapicID]) $labHide1 = GUICtrlCreateLabel("",$gp[0],$gp[1],$gp[2],$gp[3]) GUICtrlSetState(-1,$GUI_DISABLE) The you can hide or show the label to show or hide the graphic. Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
PantZ4 Posted May 5, 2008 Author Posted May 5, 2008 Either you delete it and then recreate it or you hide it by putting something in front. If the background is just plain then it is fairly easy to hide it. $gp = ControlGetPos($hWnd,'',$grapicID]) $labHide1 = GUICtrlCreateLabel("",$gp[0],$gp[1],$gp[2],$gp[3]) GUICtrlSetState(-1,$GUI_DISABLE) The you can hide or show the label to show or hide the graphic. Alright thanks for the suggestion.
aec Posted May 11, 2008 Posted May 11, 2008 Another option is to create the graphic as ctrl in a childGUI of the main GUI and then simply show/hilde the child GUI. expandcollapse popup#include <WindowsConstants.au3> #include <GuiConstants.au3> #include <WinAPI.au3> Global $h_MainGUI, $h_Graphic_ChildGUI, $c_Graphic, $c_btn_ShowHideGraphic, $f_IsGraphicHidden $h_MainGUI = GUICreate("Show/Hide a Graphic control", 400, 300) ; Create a child GUI at the place we want to put our graphic control (e.g at 20,50,100,100) $h_Graphic_ChildGUI=GUICreate('',100,100,20, 50, BitOr($WS_CHILD,$WS_TABSTOP),-1,$h_MainGUI) ; Create graphic control as a ctrl of $h_Graphic_ChildGUI. Place it at 0,0 $c_Graphic=GUICtrlCreateGraphic(0, 0, 100,100) GUISetState() ; switch back to $h_MainGUI GUISwitch($h_MainGUI) ; Create more ctrls $c_btn_ShowHideGraphic = GuiCtrlCreateButton("Hide", 140,60,100,20) ; Use a flag to keep track of visibility of our graphic $f_IsGraphicHidden = FALSE ;Draw something in graphic area GUICtrlSetColor($c_Graphic,0x00d0d0) GUICtrlSetGraphic($c_Graphic,$GUI_GR_COLOR, 0xff0000,0xff0000) GUICtrlSetGraphic($c_Graphic,$GUI_GR_PIE, 50,50, 40,30,270) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $c_Graphic MsgBox(0, 'Graphic Event', 'CLICKed on graphic!') Case $c_btn_ShowHideGraphic if $f_IsGraphicHidden Then GuiSetState(@SW_SHOW, $h_Graphic_ChildGUI) GuiCtrlSetData($c_btn_ShowHideGraphic, "Hide") $f_IsGraphicHidden = FALSE Else GuiSetState(@SW_HIDE, $h_Graphic_ChildGUI) GuiCtrlSetData($c_btn_ShowHideGraphic, "Show") $f_IsGraphicHidden = TRUE EndIf Case Else ;;;; EndSwitch WEnd
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