Jump to content
Sign in to follow this  
ACalcutt

Prevent moving of a child gui

Recommended Posts

ACalcutt

Is there a way to prevent a child gui from being moved by clicking and dragging it?

In my vistumbler program i use a child gui to draw a graph of signal strength. In my latest version i noticed the graphic can now be clicked and dragged (something that the old version doesn't do)

I striped out the basic layout for an example.

#include <GuiConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1);Change to OnEvent mode

Dim $ControlBackgroundColor = "0xD7E4C2"

$Vistumbler = GUICreate("test gui", 980, 692, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
$GraphicGUI = GUICreate("", 900, 400, 10, 60, $WS_CHILD, $WS_EX_CONTROLPARENT, $Vistumbler)
GUISetBkColor($ControlBackgroundColor)
GUISetState()
GUISwitch($Vistumbler)

GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, '_Exit')

While 1

Wend

Func _Exit()
    Exit
EndFunc

The colored sqaure is my child gui that I use for my graph. If you left click anywhere in that colored area and drag it moves the child gui. I don't want the child gui to move unless I do it in the script. is there any way for me to change this action?

Edited by ACalcutt

Andrew Calcutt

Http://www.Vistumbler.net

Http://www.TechIdiots.net

Its not an error, its a undocumented feature

Share this post


Link to post
Share on other sites
Melba23

ACalcutt,

Do you need the $WS_EX_CONTROLPARENT extended style for your child? I had never seen it used here before now and without it all works as you want. Searching brought up a few topics like this one where it was used to permit the TAB button to set the focus to controls within the window. Also from MSDN:

WS_EX_CONTROLPARENT Allows the user to navigate among the child windows of the window by using the TAB key.

I have no idea why it also allows the child to be dragged - well beyond my level of knowledge. So unless you need to use TAB to move the focus of controls withint the window, I would suggest not using that extended style.

Sorry not to be of more help. :blink:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
ACalcutt

Thanks, that worked. I didn't need $WS_EX_CONTROLPARENT. I thought i had tried that...but i guess i didn't.

Edited by ACalcutt

Andrew Calcutt

Http://www.Vistumbler.net

Http://www.TechIdiots.net

Its not an error, its a undocumented feature

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×