Hab es über einen Umweg realisiert:
Über das deaktivierte Element hab ich ein Label ohne Text und transparenten Hintergrund gelegt. So kann ich auf den Klick auf das Label reagieren.
Hab es über einen Umweg realisiert:
Über das deaktivierte Element hab ich ein Label ohne Text und transparenten Hintergrund gelegt. So kann ich auf den Klick auf das Label reagieren.
Hallo zusammen,
mittels folgenden Aufrufen erstelle ich einen deaktivierten Button:
[autoit]GUICtrlCreateButton("ok", 5, 5)
GUICtrlSetState(-1, $GUI_DISABLE)
Ist es möglich trotz Deaktivierung auf einen Klick auf diesen Button zu reagieren?
For $i = 0 To 5
$check[$i] = GUICtrlCreateCheckbox($name[1], 10, 10+(20*$i))
Next
Speichere die Checkbox-Handles einfach in ein Array.
Richtig und im Beispiel von funkey funktioniert das auch bestens.
Aber die Checkboxen innerhalb einer Listview sind ja andere als die mit GUICtrlCreateCheckBox erstellt.
Meine Frage ist also, wie ich den den Style $BS_AUTO3STATE den Checkboxen in einer Listview beibringe.
Oha schonmal gut zu wissen.
Aber wahrscheinlich wird dieses Attribut nicht für die $LVS_EX_CHECKBOXES in Listviews funktionieren. Oder wie bekomm ich den Style den Checkboxen beigebracht?
Hallo zusammen,
wenn ich bei Windows XP zwei Dateien markiere (eine Datei von beiden schreibgeschützt) und anschließend die Eigenschaften aufrufe, wird die Checkbox bei Schreibgeschützt mit einem Viereck gefüllt.
Sie ist quasi halb gecheckt, da die Checkbox für eine Datei aktiviert und für die andere Datei deaktiviert sein müsste.
Ist es möglich diesen Zustand auch bei AutoIt-Checkboxen zu setzen?
Gruß
Und wobei sollen wir dir jetzt helfen?
Oha nett
Danke für den Tipp. Das wars, was ich gesucht hab.
Ist es dann möglich mit allen GUI-Elementen normal weiter zu arbeiten, die durch das Label "verdeckt" werden?
Hallo zusammen,
ist es möglich, dass ein komplettes GUI Dateien per Drag & Drop akzeptiert?
Den Ex-Style $WS_EX_ACCEPTFILES für GUICreate und GUICtrlSetState($a, $GUI_DROPACCEPTED) für Labels und Inputs habe ich bereits gefunden und probiert. Das klappt soweit auch bestens.
Jedoch möchte ich nicht, dass nur ein bestimmtes Label meines GUI auf die hineingezogenen Dateien reagiert, sondern die gesamte Oberfläche.
Ist das möglich?
Das ist klar, dass sich die MsgBox an die Größe des Textes anpasst. Da ich aber andere Button-Bezeichnungen verwenden muss, kann ich MsgBox() nicht nutzen. Deshalb muss ich eine eigene MsgBox mittels GUICreate simulieren.
$up hat auch einen Wert?
Ah jetzt hab ich dein Anliegen verstanden. Du meinst sicher so:
[autoit]While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $up Or _IsPressed("26", $dll)
do_up()
;...
EndSelect
WEnd
Rufe ich GuiCtrlCreateLabel ohne Breitenangabe auf:
[autoit]GuiCtrlCreateLabel("AutoIt", 10, 10)
[/autoit]
wird das Label so breit gezeichnet, dass der Text in eine Zeile passt.
Gibt es eine Möglichkeit die automatisch gesetzte Breite zu ermitteln?
Sinn und Zweck ist folgender:
Ich möchte mit GUICreate eine eigene MsgBox schreiben. Da die Länge des Textes variabel ist, soll die MsgBox natürlich auch immer die richtige Größe besitzen. Oder gibt es andere Möglichkeiten dies zu realisieren? MsgBox() kann ich nicht nutzen, da die Buttons andere Beschriftungen besitzen müssen.
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $up
do_up()
;...
EndSwitch
If _IsPressed("26", $dll) Then
do_up()
EndIf
;...
WEnd
So sollte es gehen. Aber ich denke bei einem Tastendruck wird die Funktion do_up() sicher mehr als 1x aufgerufen, sodass die Steuerung per Tastatur sehr ungenau sein wird.
Ja OSLang und Tool-Sprache wird wohl in 95% aller Fälle gleich sein, aber ich möchte natürlich auch die 5% abdecken. Da sieht natürlich eine MsgBox mit deutschen Buttons und englischem Text etwas unglücklich aus.
Dann werd ich wohl nur bei den 5% eine eigene GUI anzeigen, da das sicher nicht ganz so schön aussieht.
Ich habe ein kleines Tool gebastelt, dass Mehrsprachigkeit unterstützt. Soweit so gut.
Jetzt ist nur aufgefallen, dass zwar alle Titel- u. Text-Werte der MsgBoxen in der jeweiligen Sprache angezeigt werden, jedoch nicht die Buttons. Diese werden je nach @OSLang angezeigt.
Gibt es Möglichkeiten die Defaultsprache zu ändern oder muss ich mir selbst eine MsgBox designen?
Ich habe deine Idee umgesetzt und zusätzlich eingefügt, dass nur sekündlich eine Anfrage abgeschickt wird, falls der Suchtext sich geändert hat:
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]Local $suchzeit = -1
Local $suchstring = ""
$Form = GUICreate("", 312, 91)
GUICtrlCreateLabel("Eingabe: ", 20, 20, 49, 17)
GUICtrlCreateLabel("Suche nach: ", 20, 50, 100, 17)
$in = GUICtrlCreateInput("", 100, 15, 181, 21)
$out = GUICtrlCreateInput("", 100, 45, 181, 21)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If $suchzeit <> @SEC Then
If $suchstring <> GUICtrlRead($in) Then GUICtrlSetData($out, GUICtrlRead($in))
$suchstring = GUICtrlRead($in)
EndIf
$suchzeit = @SEC
WEnd