Jump to content

Array as control handle, pulling it back out ?


Recommended Posts

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
Link to comment
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)

Link to comment
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

Link to comment
Share on other sites

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
Link to comment
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)

Link to comment
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

Link to comment
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)

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...