Sign in to follow this  
Followers 0
sulfurious

Array as control handle, pulling it back out ?

8 posts in this topic

#1 ·  Posted (edited)

I must not have the seach terminlogy correct. I found everyting but what I am looking for.

So, if you have an array and you step through it to create a control, like this

For $x = 1 to 10
   $array[$x] = GuiCtrlCreateButton("Button" & $x, 8,10); realize need counter for next top value
Next

Now I have the controls made with a handle that is an array entry. How do you read that back out and both delete the control and change the correlating value in the array? I guess, how does the controlID returned let me find the array position to do something with the array?

Next, if I have created these controls, and let's say when each is made I also pass

GuiCtrlSetOnEvent(-1,"_func")

How can I pass a reference to a GuiCtrlRead() in the _func, if the SetOnEvent cannot pass a parameter?

later,

Sul

Edit: I was playing with this

#include <GUIConstants.au3>
#include <array.au3>

dim $arr[10]
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 250, 250, 193, 115)
GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")
GUISetState(@SW_SHOW)

For $x = 1 to 9
    $arr[$x] = $x
Next
$top = 10
For $i = 1 to 9
    $arr[$i] = GUICtrlCreateButton("Button" & $i,8,$top)
    GUICtrlSetOnEvent(-1,Eval("_show(" & $i & ")"))
    $top+=25
Next

While 1
    Sleep(100)
WEnd
Func _Exit()
    Exit
EndFunc
Func _show($ctrl)
    $a = GUICtrlRead()
    
    MsgBox(0,"",$a)
EndFunc
Edited by sulfurious

Share this post


Link to post
Share on other sites



First off I would like you to have a look at the template that I always use for my GUIOnEventMode Scripts.

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;Program Name:  Template - OnEventMode
;Description:   Template for OnEventMode GUI scripts
;Filename:      Template - OnEventMode.au3
;Used With:     
;Created by:    Jarvis J Stubblefield (support "at" vortexrevolutions "dot" com)
;Created on:    06/20/2006
;Modified on:   
;Modified by:   
;Version:       0.0.2
;Copyright:     Copyright (C) 2006 Vortex Revolutions. All Rights Reserved.
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** Declare Variables ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Global $wHeight, $wWidth, $wMain            ;Window variables
Global $wTitle                              ;Window variables II

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** Preprocessor ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1) ;Set GUI to ONEvent Mode.

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** File Installations ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** Registry Information ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** Command Line Options ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

#cs UNCOMMENT FOR COMMANDLINE!
If $CmdLine[0] > 0 Then
    If StringRight($CmdLine[1], 4) = ".ext" Then
        _SomeFunc($CmdLine[1])
    Else
        _ErrorMsg("Incorret file extension. Please try again.")
        _TerminateApp()
    EndIf
EndIf
#ce

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** Define Variables ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$wHeight = 300
$wWidth  = 300
$wTitle  = "Template - OnEventMode"

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** GUI Creation ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;Main GUI Creation
$wMain  = GUICreate($wTitle, $wWidth, $wHeight)
;Main Options
$btnMOptions    = GUICtrlCreateButton("Options", 5, ($wHeight - 25), 94, 20)
;Main Help
$btnMHelp       = GUICtrlCreateButton("Help", 103, ($wHeight - 25), 94, 20)
;Main Exit
$btnMExit       = GUICtrlCreateButton("Exit", 201, ($wHeight - 25), 94, 20)

;Disable Options and Help until added
GUICtrlSetState($btnMOptions, $GUI_DISABLE)
GUICtrlSetState($btnMHelp, $GUI_DISABLE)

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** GUI Set Events ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;GUI Events Handled by _GUIEventHandler()
GUICtrlSetOnEvent($btnMOptions, "_GUIEventHandler")
GUICtrlSetOnEvent($btnMExit, "_GUIEventHandler")
GUICtrlSetOnEvent($btnMHelp, "_GUIEventHandler")

;System Events Handled by _SysEventHandler()
GUISetOnEvent($GUI_EVENT_CLOSE, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_RESTORE, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_PRIMARYUP, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_SECONDARYUP, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_MOUSEMOVE, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_RESIZED, "_SysEventHandler", $m_HWnd)
GUISetOnEvent($GUI_EVENT_DROPPED, "_SysEventHandler", $m_HWnd)

GUISetState(@SW_SHOW, $m_HWnd)

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** Main Program Loop ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

While 1
    Sleep(100)
WEnd

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** GUI Event Functions ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Func _GUIEventHandler()
    Switch @GUI_CtrlId
        Case $btnMExit
            _TerminateApp()
        Case $btnMOptions
        Case $btnMHelp
    EndSwitch
EndFunc

Func _SysEventHandler()
    Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
            If @GUI_WinHandle <> $hGUI Then
                _TerminateGUI(@GUI_WinHandle)
            Else
                _TerminateApp()
            EndIf
        Case $GUI_EVENT_MINIMIZE
        Case $GUI_EVENT_RESTORE
        Case $GUI_EVENT_MAXIMIZE
        Case $GUI_EVENT_PRIMARYDOWN
        Case $GUI_EVENT_PRIMARYUP
        Case $GUI_EVENT_SECONDARYDOWN
        Case $GUI_EVENT_SECONDARYUP
        Case $GUI_EVENT_MOUSEMOVE
        Case $GUI_EVENT_RESIZED
        Case $GUI_EVENT_DROPPED
    EndSwitch
EndFunc

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;---*** Define Functions ***---
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

#region --- Internal Functions
    ;Displays an error message to the user, and optionally times out.
    Func _ErrorMsg($message, $time = 0)
        MsgBox(48 + 262144, "Error!", $message, $time)
    EndFunc

    ;Function to be used to terminate the application. (Clean up Application)
    Func _TerminateApp()
        Exit
    EndFunc
    
    ;This function is to be used with programs that have multiple GUI's and
    ;will optionally terminate application if called incorrectly on the main
    ;GUI.
    Func _TerminateGUI($gui_hWnd, $gui_title = "")
        If $gui_title = "" Then $gui_title = $wTitle
        If $gui_hWnd = $hSome3rdLayerGUI Then
            ;Do 3rd Layer GUI stuff (for example look at RAS-NEW.au3)
            GUIDelete($gui_hWnd)
        Else
            GUIDelete($gui_hWnd)
            If $gui_hWnd = $wMain Then
                _TerminateApp()
            Else
                WinActivate($gui_title)
            EndIf
        EndIf
    EndFunc
#endregion Internal Functions

Start from there. That is a good base point.

Now when you create controls with an array you will need to remember which one is where in the array or you will have to use _ArraySearc() (I think that is a function in the Array.au3 standard include file).

If indeed you are using $x to put a number on your button, then you could always GUICtrlRead(), parse the text to only return the number, and use that output to access the correct number in your array.

I dont know if _ArraySearch() or the second mentioned method would be faster. That will be up to you to code, and find out.

JS


AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Share this post


Link to post
Share on other sites

Cool. I did not realize that the last control clicked could be referenced with the @GUI_ functions.

It appears you are using

Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
            If @GUI_WinHandle <> $hGUI Then
                _TerminateGUI(@GUI_WinHandle)
            Else
                _TerminateApp()
            EndIf

To switch to the control, then query it for what to do IF. In this code, what is the value of $hGUI?

I can see that I need to develop such a template. It will certainly pay dividends to have centralized patterns for handling all the events.

When I use an array[x] to create a control, does the value in array[x] hold the controlID? So that I can read a control, get it's ID, then step through array until I find it?

Thanks for the pointer. I will have to digest it further, but it gives some great examples of how to structure a multi GUI script that will be much easier to manage. Wish I would have seen that about a year ago, lol.

later,

Sul

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

I must not have the seach terminlogy correct. I found everyting but what I am looking for.

So, if you have an array and you step through it to create a control, like this

For $x = 1 to 10
   $array[$x] = GuiCtrlCreateButton("Button" & $x, 8,10); realize need counter for next top value
Next

Now I have the controls made with a handle that is an array entry. How do you read that back out and both delete the control and change the correlating value in the array? I guess, how does the controlID returned let me find the array position to do something with the array?

Next, if I have created these controls, and let's say when each is made I also pass

GuiCtrlSetOnEvent(-1,"_func")

How can I pass a reference to a GuiCtrlRead() in the _func, if the SetOnEvent cannot pass a parameter?

later,

Sul

Edit: I was playing with this

#include <GUIConstants.au3>
#include <array.au3>

dim $arr[10]
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 250, 250, 193, 115)
GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")
GUISetState(@SW_SHOW)

For $x = 1 to 9
    $arr[$x] = $x
Next
$top = 10
For $i = 1 to 9
    $arr[$i] = GUICtrlCreateButton("Button" & $i,8,$top)
    GUICtrlSetOnEvent(-1,Eval("_show(" & $i & ")"))
    $top+=25
Next

While 1
    Sleep(100)
WEnd
Func _Exit()
    Exit
EndFunc
Func _show($ctrl)
    $a = GUICtrlRead()
    
    MsgBox(0,"",$a)
EndFunc

How about this:

Func _show()
    For $i = 1 to 9
        If @Gui_CtrlID = $arr[$i] Then
            MsgBox(0,'',$i)
            ExitLoop
        EndIF
    Next
EndFunc
Edited by cjconstantine

Share this post


Link to post
Share on other sites

lol, yeah, after looking at the peice JS put up, I discovered that I did not realize the full use of @GUI_CtrlID and such. I pretty much did as you did. Thanks though.

Sul

Share this post


Link to post
Share on other sites

Cool. I did not realize that the last control clicked could be referenced with the @GUI_ functions.

It appears you are using

Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
            If @GUI_WinHandle <> $hGUI Then
                _TerminateGUI(@GUI_WinHandle)
            Else
                _TerminateApp()
            EndIfoÝ÷ Ù:,Â+Ú-ç(ÚèØ^«¯(­~ð«m¡Úí+¡×°«b²Ø^½©nzôߨFPj{zØZ´ÞyÛhuëÞl¹ÈZµé©«^"Ü"W®Ö¢©k'b¾'^Û-¢¯yǧ¶¶¥7¥«mz¹ì~ájwex[ayëÞÛéȺǪëk,m¡ÊÞj×rí®]¡ë-ëÚ碪ëk,a¢Wmç(ÚèÒ¢ØZ´·u§(Úè­Ýý°íéìµêmº.«­¬®Ø¥!ø§v+S©ä±ú+¶©¢)íz²0Yaj÷­¡Ø zËbµû«¶«nëb¶¯zË(è+^Å©©ë(~0-®ç-º·éme±Êâ¦ÛajÜ"VÞç!y«"z»h©Ú墲0¢é]«Þ±ç§¶­iº.µ¬j¶ ¢Z%«^­+¥þ«¨µä¨®¼­«b±«%m+!jë¢g!jx"    ²µé©«^ÞئzÇë¢h­²)â¶&¥²Ö­zÚ"¶Ë'â©lµ«^êÞËayÊ+­ç-½êìÈz0¶­Mêæv­xe².ÙÞ½êëyȽëazf¢§v!jwey»­ë-{azßr§qëajÛ(ê'zëv+b§b}÷«z{mzjej×w%¹×¶­Û!¢é]q©eMêæv­x
iº'¶©Üz+kyȽçmé|"Ú0©Ý殶­sc²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC°£µ&öw&ÒæÖS FV×ÆFRÒöäWfVçDÖöFP£´FW67&Föã FV×ÆFRf÷"öäWfVçDÖöFRuT67&G0£´fÆVæÖS FV×ÆFRÒöäWfVçDÖöFRæS0£µW6VBvF £´7&VFVB' ¦'f2¢7GV&&ÆVfVÆB7W÷'BgV÷C¶BgV÷C²f÷'FW&WföÇWFöç2gV÷C¶F÷BgV÷C²6öÒ£´7&VFVBöã bó#ó#`£´ÖöFfVBöã £´ÖöFfVB' £µfW'6öã ãã £´6÷&vC 6÷&vB2#bf÷'FW&WföÇWFöç2âÆÂ&vG2&W6W'fVBࣲfÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC°£²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC° £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢FV6Æ&Rf&&ÆW2¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° ¤vÆö&Âb33c·tVvBÂb33c·uvGFÂb33c·tÖàµvæF÷rf&&ÆW0¤vÆö&Âb33c·uFFÆPµvæF÷rf&&ÆW2 £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢&W&ö6W76÷"¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° ¢6æ6ÇVFRfÇC´uT6öç7FçG2æS2fwC° ¤÷BgV÷C´uTöäWfVçDÖöFRgV÷C²Âµ6WBuTFòôäWfVçBÖöFRà £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢fÆRç7FÆÆFöç2¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢&Vv7G'æf÷&ÖFö⢢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢6öÖÖæBÆæR÷Föç2¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° ¢672Tä4ôÔÔTåBdõ"4ôÔÔäDÄäRb333°¤bb33c´6ÖDÆæU³ÒfwC²FVà b7G&æu&vBb33c´6ÖDÆæU³ÒÂBÒgV÷C²æWBgV÷C²FVà õ6öÖTgVæ2b33c´6ÖDÆæU³Ò VÇ6P ôW'&÷$×6rgV÷C´æ6÷'&WBfÆRWFVç6öââÆV6RG'vââgV÷C² õFW&ÖæFT VæD`¤VæD`¢66P £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢FVfæRf&&ÆW2¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° ¢b33c·tVvBÒ3¢b33c·uvGFÒ3¢b33c·uFFÆRÒgV÷CµFV×ÆFRÒöäWfVçDÖöFRgV÷C° £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢uT7&VFö⢢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° £´ÖâuT7&VFöà¢b33c·tÖâÒuT7&VFRb33c·uFFÆRÂb33c·uvGFÂb33c·tVvB£´Öâ÷Föç0¢b33c¶'FäÔ÷Föç2ÒuT7G&Ä7&VFT'WGFöâgV÷C´÷Föç2gV÷C²ÂRÂb33c·tVvBÒ#RÂBÂ#£´ÖâVÇ¢b33c¶'FäÔVÇÒuT7G&Ä7&VFT'WGFöâgV÷C´VÇgV÷C²Â2Âb33c·tVvBÒ#RÂBÂ#£´ÖâW@¢b33c¶'FäÔW@ÒuT7G&Ä7&VFT'WGFöâgV÷C´WBgV÷C²Â#Âb33c·tVvBÒ#RÂBÂ# £´F6&ÆR÷Föç2æBVÇVçFÂFFV@¤uT7G&Å6WE7FFRb33c¶'FäÔ÷Föç2Âb33c´uTôD4$ÄR¤uT7G&Å6WE7FFRb33c¶'FäÔVÇÂb33c´uTôD4$ÄR £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢uT6WBWfVçG2¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° £´uTWfVçG2æFÆVB'ôuTWfVçDæFÆW"¤uT7G&Å6WDöäWfVçBb33c¶'FäÔ÷Föç2ÂgV÷CµôuTWfVçDæFÆW"gV÷C²¤uT7G&Å6WDöäWfVçBb33c¶'FäÔWBÂgV÷CµôuTWfVçDæFÆW"gV÷C²¤uT7G&Å6WDöäWfVçBb33c¶'FäÔVÇÂgV÷CµôuTWfVçDæFÆW"gV÷C² £µ77FVÒWfVçG2æFÆVB'õ74WfVçDæFÆW"¤uT6WDöäWfVçBb33c´uTôUdTåEô4Äõ4RÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEôÔäÔ¤RÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEõ$U5Dõ$RÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEôÔÔ¤RÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEõ$Ô%DõtâÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEõ$Ô%UÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEõ4T4ôäD%DõtâÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEõ4T4ôäD%UÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEôÔõU4TÔõdRÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEõ$U4¤TBÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ¤uT6WDöäWfVçBb33c´uTôUdTåEôE$õTBÂgV÷Cµõ74WfVçDæFÆW"gV÷C²Âb33c·tÖâ ¤uT6WE7FFR5uõ4õrÂb33c·tÖâ £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢Öâ&öw&ÒÆö÷¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° ¥vÆR 6ÆVW¥tVæ@ £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢uTWfVçBgVæ7Föç2¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° ¤gVæ2ôuTWfVçDæFÆW" 7vF6uTô7G&Ä@ 66Rb33c¶'FäÔW@ õFW&ÖæFT 66Rb33c¶'FäÔ÷Föç0 66Rb33c¶'FäÔVÇ VæE7vF6¤VæDgVæ0 ¤gVæ2õ74WfVçDæFÆW" 7vF6uTô7G&Ä@ 66Rb33c´uTôUdTåEô4Äõ4P buTõväæFÆRfÇC²fwC²b33c·tÖâFVà õFW&ÖæFTuTuTõväæFÆR VÇ6P õFW&ÖæFT VæD` 66Rb33c´uTôUdTåEôÔäÔ¤P 66Rb33c´uTôUdTåEõ$U5Dõ$P 66Rb33c´uTôUdTåEôÔÔ¤P 66Rb33c´uTôUdTåEõ$Ô%Dõtà 66Rb33c´uTôUdTåEõ$Ô%U 66Rb33c´uTôUdTåEõ4T4ôäD%Dõtà 66Rb33c´uTôUdTåEõ4T4ôäD%U 66Rb33c´uTôUdTåEôÔõU4TÔõdP 66Rb33c´uTôUdTåEõ$U4¤T@ 66Rb33c´uTôUdTåEôE$õT@ VæE7vF6¤VæDgVæ0 £²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC²fwC°£²ÒÒÒ¢¢¢FVfæRgVæ7Föç2¢¢¢ÒÒУ²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC²fÇC° ¢7&VvöâÒÒÒçFW&æÂgVæ7Föç0 ´F7Æ2âW'&÷"ÖW76vRFòFRW6W"ÂæB÷FöæÆÇFÖW2÷WBà gVæ2ôW'&÷$×6rb33c¶ÖW76vRÂb33c·FÖRÒ ×6t&÷C²#c#CBÂgV÷C´W'&÷"b333²gV÷C²Âb33c¶ÖW76vRÂb33c·FÖR VæDgVæ0  ´gVæ7FöâFò&RW6VBFòFW&ÖæFRFRÆ6Föââ6ÆVâWÆ6Föâ gVæ2õFW&ÖæFT W@ VæDgVæ0  µF2gVæ7Föâ2Fò&RW6VBvF&öw&×2FBfR×VÇFÆRuTb33·2æ@ ·vÆÂ÷FöæÆÇFW&ÖæFRÆ6Föâb6ÆÆVBæ6÷'&V7FÇöâFRÖà ´uTà gVæ2õFW&ÖæFTuTb33c¶wVövæBÂb33c¶wV÷FFÆRÒgV÷C²gV÷C² bb33c¶wV÷FFÆRÒgV÷C²gV÷C²FVâb33c¶wV÷FFÆRÒb33c·uFFÆP bb33c¶wVövæBÒb33c¶6öÖS7&DÆW$uTFVà ´Fò7&BÆW"uT7GVfbf÷"W×ÆRÆöö²B$2ÔäUræS2 uTFVÆWFRb33c¶wVövæB VÇ6P uTFVÆWFRb33c¶wVövæB bb33c¶wVövæBÒb33c·tÖâFVà õFW&ÖæFT VÇ6P vä7FfFRb33c¶wV÷FFÆR VæD` VæD` VæDgVæ0¢6VæG&VvöâçFW&æÂgVæ7Föç0

I hope that helps you, and I am happy to have been of assistance.

You are correct in what you said above about accessing the control handles.

JS


AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Share this post


Link to post
Share on other sites

You most definately have been of assistance. I have another question then. When using templates and having variables and fucntions that do so much, do you create secondary and tertiary GUI's when you start a script. Or, if they are needed only later, or even only once, do you create them on demand?

That is one thing I have had limited success with. What little vb I have done, it is nice to be able to load or unload a form.

Sul

Share this post


Link to post
Share on other sites

You most definately have been of assistance. I have another question then. When using templates and having variables and fucntions that do so much, do you create secondary and tertiary GUI's when you start a script. Or, if they are needed only later, or even only once, do you create them on demand?

That is one thing I have had limited success with. What little vb I have done, it is nice to be able to load or unload a form.

Sul

I have at about the time I created that template decided to write out my programs completely on paper or some other system of getting my ideas all down on paper that way I know what I want it to look like, how many windows I will need, and so on.

So my answer is I create them all at the beginning stages of coding. I always create the GUI first, and functionality after I am finished with one GUI window/tab/screen. That way as I finish each section its functionality is also finished. It just seems to flow for me.

You can also create GUI's on the fly using a function, and Terminating it using my _TerminateGUI(). In the Remote Administration Tool in Scripts and Scraps, I converted his GUI from GetMsg to OnEvent, and he had many functions that created GUI's on the fly, and even had a secondary that created a tertiary GUI, hence that extra bit of code in _TerminateGUI(). Because when you terminate a secondary GUI you want to return focus to your main program, but if you terminate a tertiary then you will want to return focus to the secondary. I hope that makes sense.

If you have any more questions please let me know,

JS


AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

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