Aktuelle Zeit: 21.08.2019 09:30

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Ein String Gadget automatisch und manuell bearbeiten
BeitragVerfasst: 17.05.2019 20:40 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Hallo,
ich möchte folgendes erreichen:
Ein StringGadget empfängt automatisch Daten aus der Zwischenablage, das erreiche ich mit:

Eingabe$ = GetClipboardText()
SetGadgetText (#MeineEingabe, Eingabe$)

Ich will aber auch, wenn ich auf das StringGadget klicke einen Text manuell eingeben können.
Hab schon alles mögliche versucht, aber es funktioniert nicht.

Dank schon mal Vorab
Kurt

_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Ein String Gadget automatisch und manuell bearbeiten
BeitragVerfasst: 17.05.2019 20:47 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Du kannst das Überschreiben verhindern, indem du abfragst, ob dein StringGadget den Fokus hat.
D.h. wenn dein StringGadget den Fokus hat, dann soll nicht automatisch der Inhalt deiner Zwischenablage eingefügt werden.
Wie du ermitteln kannst, welches Gadget gerade den Fokus hat: GetActiveGadget()

_________________
BildBildBildBild(Update: 17.08.2019 (+196 Dateien, +1392 MB)) BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Ein String Gadget automatisch und manuell bearbeiten
BeitragVerfasst: 17.05.2019 21:52 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Hm.... ich weiss nicht, wo du die Glaskugel hernimmst Ray :o

Aber ohne lauffähigen Code (bzw. Code der Fehler macht) kann man dazu nur sagen :
Wenn ein StringGadget angeklickt wird (den Fokus erhält), schreibt man hinein.
Das erledigt das OS für einen (braucht man sich nicht drum zu kümmern).

Wenn man den Wert auslesen möchte, der im StringGadgetsteht, nimmt man "GetGadgetText(#StringGadget)"....

_________________
PureBasic 5.70 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Ein String Gadget automatisch und manuell bearbeiten
BeitragVerfasst: 17.05.2019 22:41 
Offline
Benutzeravatar

Registriert: 27.02.2006 22:30
Wohnort: Neumünster
Er hat es wohl so ähnlich gemacht

Code:
Enumeration
   #window
   #string1
   #string2
   #timer
EndEnumeration

EnableExplicit

Define event, clip$, text$

OpenWindow(#window, 0, 0, 322, 205, "StringGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

AddWindowTimer(#window, #timer, 500)

StringGadget(#string1, 8,  10, 306, 22, "")
StringGadget(#string2, 8,  40, 306, 22, "")

Repeat
   event = WaitWindowEvent()
   
   Select event
      Case #PB_Event_Timer
         If EventTimer() = #timer
            clip$ = GetClipboardText()
            If clip$
               SetGadgetText(#string1, clip$)
               SetClipboardText("")
            EndIf
         EndIf
         
      Case #PB_Event_Gadget
         Select EventGadget()
            Case #string1
               If EventType() = #PB_EventType_Focus
                  RemoveWindowTimer(#Window, #timer)
               EndIf
               
               If EventType() = #PB_EventType_LostFocus
                  text$ = GetGadgetText(#string1)
                  SetGadgetText(#string2, text$)
                  AddWindowTimer(#window, #timer, 500)
               EndIf
               
            Case #string2
               
         EndSelect         
         
   EndSelect
   
Until event = #PB_Event_CloseWindow

_________________
Purebasic 5.60 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Ein String Gadget automatisch und manuell bearbeiten
BeitragVerfasst: 17.05.2019 23:03 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
Bisonte hat geschrieben:
Hm.... ich weiss nicht, wo du die Glaskugel hernimmst Ray :o

das kann man sich so ein bisschen herleiten, wenn man die letzten Postings von Sommertv durchliest.
Ich vermute mal, dass er permanent (evtl. mittels Timer) den Clipboard-Text in das StringGadget schreibt.
Ein manuelles Bearbeiten ist dann (ohne Fokus-Test) natürlich nicht mehr möglich.

Grüße ... Peter

_________________
"A user interface is like a joke. If you have to explain it, it’s not that good." (Martin Leblanc)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Ein String Gadget automatisch und manuell bearbeiten
BeitragVerfasst: 17.05.2019 23:32 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Danke...
ich habs jetzt so gelöst:

ElseIf EventGadget = #MeineEingabe
KlickLabelEingabe=#True
EndIf

Und dann in der Timer Schleife:

If Not KlickLabelEingabe
Eingabe$ = GetClipboardText()
SetGadgetText (#MeineEingabe, Eingabe$)
EndIf

Nachdem der String verarbeitet ist, setze ich KlickLabelEingabe=#False

_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye