Sign in to follow this  
Followers 0
ben87212

How to wrap a function call with defaults...

5 posts in this topic

What I'm trying to do is wrap a ControlClick function call with code that prints out some debug info to let me trace things. It's not working apparently because I'm failing to understand the use of "Default". Here is the code I thought should work:

Func _ControlClick ( $Title, $Text, $ControlId, $Button=Default, $Clicks =Default, $X=Default, $Y=Default)    
  _DebugPrint("Clicked '" & $ControlId & "' in windows with title '" & $Title & "' and text '" & $Text & "'")
  return ControlClick($Title, $Text, $ControlId, $Button, $Clicks, $X, $Y)
    Local $ReturnValue = ControlClick($Title, $Text, $ControlId)
EndFunc

The code isn't working because my assignment of Default as the default for _ControlClick calls does NOT get passed in as the Default for ControlClick. Any way to accomplish this?

Ben

Share this post


Link to post
Share on other sites



I'm guessing it's because the Default keyword shouldn't be used there. The Button default is "left", the # of clicks is 1, and the x and y position is in the center of the control, but I am not sure how that would be determined perhaps -1 for both of those would work, not sure because I've never used them.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Thanks for the help, I guess I will just use the hardcoded default values for now in the wrapper function. I was just hoping there was a right way. I think I tried -1 and it didn't work, but I'm not 100% sure.

Share this post


Link to post
Share on other sites

..and the x and y position is in the center of the control..

The only way I can think of is with ControlGetPos(). Then divide elements 2 and 3 by 2. This is a few extra lines of code, which may or may not be an issue..

- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

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  
Followers 0