Sign in to follow this  
Followers 0
Clark

Disabling a Tab sheet

7 posts in this topic

$Form1 = GUICreate("Entity Tracker", 606, 425, 500, 241,-1, $WS_EX_ACCEPTFILES)

$Tab1 = GUICtrlCreateTab(0, 0, 625, 441)

$TabSheet1 = GUICtrlCreateTabItem("Tracker")

I was hoping to to be able to disable (i.e. prevent a user from activating the tabsheet) by:

GUICtrlSetState($TabSheet1, $GUI_DISABLE)

But this doesn't work. (Or at least I can't get it to work).

I've checked the help files and searched but can't seem to see an obvious and easy solution to this, but I'm sure one must exist.

Hoping someone might know how to do this.

Share this post


Link to post
Share on other sites



I believe you would need to move up a level, and disable the tab ($Tab1), not the tab item ($TabSheet1).


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

Unfortunately that seems to disable all tabsheets, rather than let me specificy which tab sheets I wish to disable.

Share this post


Link to post
Share on other sites

You can't disable, but you can avoid from clicking

#include <GUIConstantsEx.au3>

Global $afTabSheets[3] = [True, False, False]

$Gui = GUICreate("Tab",450, 300)
$Tab1 = GUICtrlCreateTab(20, 24, 425, 201)
$TabSheet1 = GUICtrlCreateTabItem("Tab1")
$TabSheet2 = GUICtrlCreateTabItem("Tab2")
$TabSheet3 = GUICtrlCreateTabItem("Tab3")
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $Tab1
            If $afTabSheets[GUICtrlRead($Tab1)] = False Then
                _Lock_Tab()
            EndIf
    EndSwitch
WEnd

Func _Lock_Tab()
    For $i = 0 To 3
        If $afTabSheets[$i] = True Then
            GUICtrlSetState($TabSheet1 + $i, $GUI_SHOW)
            Return
        EndIf
    Next
EndFunc
1 person likes this

Share this post


Link to post
Share on other sites

Thanks.

It looks like I will have to just prevent them from clicking in there like you say.

Perhaps by using some conditional colouring I can make it look like it is disabled.

Share this post


Link to post
Share on other sites

Clark,

by using some conditional colouring I can make it look like it is disabled

Then you might find this of interest. ;)

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

Thanks Melba :graduated:

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

  • Similar Content

    • andygo
      By andygo
      hello, please take a look:



      i use a vlc-plugin within my script, to remote and watch tv from my dreambox.
      the plugin causes some lines i can see in the SciTE console.

      how can i get / store these outputs to a $variable when the script is compiled?
    • marko001
      By marko001
      Hi mates,

      The tool I developed uses different folders where files are located:

      @scriptdir contains all the .exe, some .dll and some .ini
      /logs contains log.txt
      /images contains all images needed to _imagesearch()
      /manual contains manual.chm and manual.chw
      /DB contains db.xml

      As previously discussed with Zedna, I can't use Resources UDF since _imagesearch() doesn't support embedded images but needs them stored on HDD.
      As previously discussed with Trancexx, I can embedd binaries (runbinary) but It's too risky so I decided to avoid it.

      So question is: How can I embeed all these files and folders into an executable so that when it's run it re-builds the original folders/file structure?

      What I expect to have is:

      Before compiling : all the .au3 and the folders with the files
      After compiling : just one compiled.exe and all folders with their files.

      Thanks for the support,

      Marco