hi,
ich hab mal eine frage ist es möglich einen input durch einen klick daruf zu leeren?
also z.b. wenn ich einen input habe und "Dein Suchbegriff" drin steht soll der text weg gehen damit man dne neuen rein schreibe kann.
hi,
ich hab mal eine frage ist es möglich einen input durch einen klick daruf zu leeren?
also z.b. wenn ich einen input habe und "Dein Suchbegriff" drin steht soll der text weg gehen damit man dne neuen rein schreibe kann.
Jein
mit Originalfunktionalität nicht. Dazu mußt du auswerten
- Mausposition abfragen
- ist die Maus über dem Control UND
- wird geklickt
dann GUIControlSetData($Input, '')
Hallo
Guck dir das mal an, hier gibt es schon ein UDF dafür: Klick mich, wenn du dich traust.
Mfg Spider
Oder ein bisschen um das Problem herumbauen.
Wenn du die Inputbox erstellt hast könntest du via
Send("{SHIFTDOWN}{END}{SHIFTUP}")
alles selektieren was in der Inputbox steht.
@Wesloth: auch ne gute idee^^ thx
GtaSpider : danke für dne link
BugFix : daran hatte ich auch gedacht es is aba an der durchführung gescheitert^^ trotzdme thx
EDIT: hab jetz grad mal wesloth variante getestet und festgestellt das nix passiert weiß nich wodran das liegt.
guictrlcreateinput("Dein Suchbegriff",5,5,60,24)
send("{shiftdown}{end}{shiftup}")
dann hatte dann hatte ich es auch noch mit controlsettext versucht aba da is auch nix bei raus gekommen leider
Doch es funktioniert. Aber es ist ganz wichtig das die Inputbox auch für den normalen User zu sehen ist.
Hier ein Bsp:
#include <GuiConstants.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate("Für Mignon",300,100)
GUICtrlCreateInput("Nerviger Text",6,6,200,20)
GUISetState(@SW_SHOW)
send("{shiftdown}{end}{shiftup}")
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Gui_Event_Close
Exit
EndSelect
Sleep(10)
WEnd
Würde das "send("{shiftdown}{end}{shiftup}")" for "GuiSetState(@SW_SHOW)" stehen würde wirklich nichts markiert werden.
Hier mal eine 'saubere' Lösung:
#include <GUIConstants.au3>
Opt("MouseCoordMode", 0)
Opt("GUIOnEventMode", 1)
Dim $Input_X = 80, $Input_Width = 120
Dim $Input_Y = 50, $Input_Height = 21
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 316, 147, 193, 115)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_LeftMouse')
$Input1 = GUICtrlCreateInput("Input1", $Input_X, $Input_Y, $Input_Width, $Input_Height)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(100)
WEnd
Func Form1Close()
Exit
EndFunc
Func _LeftMouse()
Local $pos = MouseGetPos()
If ( $pos[0] > $Input_X And $pos[0] < $Input_X+$Input_Width ) And _
( $pos[1] > $Input_Y+20 And $pos[1] < $Input_Y+$Input_Height+20) Then _
GUICtrlSetData($Input1, '')
EndFunc
jo hattest recht thx
hatte das send von guisetstate^^;) jetz funzt es.
EDIT: thx bugfix klappt alles perfekt^^