ClipBoard [ERLEDIGT]

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

ClipBoard [ERLEDIGT]

Beitrag von Koverhage »

Ich möchte ein Textfeld (z.B. Adresse) per HotKey in die Zwischenablage kopieren.
Da dieses Textfeld ist nicht sichtbar und kann somit mit Strg+C nicht kopiert werden.
Wie kann ich das realisieren ?
Zuletzt geändert von Koverhage am Mi, 17. Jul 2013 10:10, insgesamt 1-mal geändert.
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ClipBoard

Beitrag von brandelh »

Falls du einen Button anklicken willst, schreibe die Funktion in den activate codeblock.
Wenn nicht, musst du auf dem Fenster (alle Controls geben die unverarbeiteten events an das Fenster weiter) ... den HOTKEY abfangen.
oWin:keyboard := ... sollte passen und dort die Funktion aufrufen. Das geht natürlich nur wenn der EingabeFocus in einem Control auf diesem Fenster liegt.
Der PushButton mit Maus geht immer.

In der Funktion wird das Clipboard geöffnet, am Besten gelöscht und der Inhalt übertragen.

Code: Alles auswählen

#include "xbpdev.ch" // ich meine man braucht das für XBPCLPBRD_TEXT, könnte mich aber auch irren.
local oClipBoard := XbpClipBoard():new():create()
if oClipBoard:open()        // Clipboard öffnen
   oClipBoard:clear()       // löschen
   oClipBoard:setBuffer( oXbpMle:editbuffer() ,XBPCLPBRD_TEXT)
   oClipBoard:close()       // Schließen
endif

Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: ClipBoard

Beitrag von Koverhage »

Bräuchte ich anstatt

oClipBoard:setBuffer( oXbpMle:editbuffer() ,XBPCLPBRD_TEXT)

nur

oClipBoard:setBuffer( cTextFeld ,XBPCLPBRD_TEXT)

nehmen ?
Gruß
Klaus
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: ClipBoard

Beitrag von georg »

Hallo, Klaus -


abhängig davon, welche Daten Du im ClipBoard haben willst, kannst Du die entsprechende Variante verwenden.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: ClipBoard

Beitrag von Koverhage »

Das
oClipBoard:setBuffer( cTextFeld ,XBPCLPBRD_TEXT)
macht was ich möchte.
Gruß
Klaus
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: ClipBoard [ERLEDIGT]

Beitrag von georg »

Hallo,


ansonsten darf ich auf ein kleines Beispiel aus unserem WiKi verweisen:

http://wiki.xbaseentwickler.de/index.ph ... oard%28%29
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ClipBoard

Beitrag von brandelh »

Koverhage hat geschrieben:Bräuchte ich anstatt
oClipBoard:setBuffer( oXbpMle:editbuffer() ,XBPCLPBRD_TEXT)
nur
oClipBoard:setBuffer( cTextFeld ,XBPCLPBRD_TEXT)
nehmen ?
das Clipboard mit der Einstellung XBPCLPBRD_TEXT erwartet einen String als ersten Parameter, ob der von einem Control, Feld oder einer Variable kommt ist völlig egal,
ich dachte nur es wäre ein hidden MLE, daher mein Vorschlag mit :editbuffer() ;-)
Gruß
Hubert
Antworten