Control-Fokus

  • Hey,

    Ich hab ne frage zu den GUI's in AutoIt:

    Wenn ich einen Button erstelle, sieht der aus wie auf dem screenshot oben.
    Drücke ich dann auf den button drauf, bekommt er den Fokus und sieht dann wie unten auf m Screenshot aus.

    Jetzt Meine Frage: kann man diesen 'Auswahlrahmen' irgendwie löschen/unsichtbar machen?

    Canyon

    Einmal editiert, zuletzt von Canyon (19. März 2009 um 22:37)

  • Hallo,
    so vielleicht:

    Spoiler anzeigen
    [autoit]


    #include <Tabconstants.au3>
    GUICreate("test", 100, 70)
    $Button1 = GUICtrlCreateButton("test1", 10, 10, 80, 20, $TCS_FOCUSNEVER)
    $Button2 = GUICtrlCreateButton("test2", 10, 40, 80, 20, $TCS_FOCUSNEVER)
    GUISetState()
    While True
    $msg = GUIGetMsg()
    If $msg = $Button1 Then MsgBox(0, "", "1")
    If $msg = $Button2 Then MsgBox(0, "", "2")
    WEnd

    [/autoit]

    Edit: Manchmal gehts bei mir, manchmal nicht. Lol, scheint wohl random zu sein :D

  • ähm blubbstar er will was anderes :D
    er will dass der Button NICHT angewählt ist
    Setz doch den Fokus auf n anderes Control

    Padmak

  • Oder so, ist zwar nicht die elleganteste, aber es funktioniert:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("test", 200, 70)
    $Button1 = GUICtrlCreateButton("test1", 10, 10, 80, 20)
    $Button2 = GUICtrlCreateButton("test2", 10, 40, 80, 20)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    While True
    $msg = GUIGetMsg()
    If $msg = $Button1 Then
    MsgBox(0, "", "1")
    GUICtrlDelete($Button1)
    $Button1 = GUICtrlCreateButton("test1", 10, 10, 80, 20)
    EndIf
    If $msg = $Button2 Then
    MsgBox(0, "", "2")
    GUICtrlDelete($Button2)
    $Button2 = GUICtrlCreateButton("test2", 10, 40, 80, 20)
    EndIf
    Sleep(50)
    WEnd

    [/autoit]
  • Mit anderem Control, das ist besser:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $GUI = GUICreate("test", 200, 70)
    $Dummy = GUICtrlCreateLabel("",-10,-10,2,2)
    $Button1 = GUICtrlCreateButton("test1", 10, 10, 80, 20)
    $Button2 = GUICtrlCreateButton("test2", 10, 40, 80, 20)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    While True

    $msg = GUIGetMsg()
    Select
    Case $msg = $Button1
    GUICtrlSetState($Dummy,$GUI_FOCUS)
    MsgBox(0, "", "1")
    Case $msg = $Button2
    GUICtrlSetState($Dummy,$GUI_FOCUS)
    MsgBox(0, "", "2")
    Case $msg = -3
    Exit
    EndSelect
    WEnd

    [/autoit]
  • also ich hatte das mit dem verstecken des Fokusses probiert, aber habs dann doch nicht ins endgültige script eingebaut. hab das script kompiliert und dann ist mir heute aufgefallen, das die Ränder nicht mehr da sind.

    Lange Rede, kurzer Sinn: Sobald das script kompiliert ist gehen die Ränder automatisch weg.

    Trotsdem vielen Dank für die Unterstützung

    Canyon