Warum wird der Text hier im Clipboard nicht erneuert...

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

funkheld

Betreff: Warum wird der Text hier im Clipboard nicht erneuert...

BeitragDi, Aug 16, 2016 11:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, guten Tag.
Warum wird hier der Text im Clipboard nicht dauernd rausgeholt, obwohl ich den erneuere aus eine Textdatei mit Copy zb.
Wenn ich das Programm hier neu starte, dann ist der Copytext drin.

Danke.
GRuss

Code: [AUSKLAPPEN]

Extern "Win32"
   Function OpenClipboard(hwnd:Int)
   Function CloseClipboard()
   Function EmptyClipboard()
   Function SetClipboardData(format:Int,hMem:Byte Ptr)
   Function GetClipboardData:Byte Ptr(Format:Int)
   Function GlobalAlloc:Byte Ptr(uflags:Int,bytes:Int)
   Function GlobalFree(buffer:Byte Ptr )
 End Extern

 Const GMEM_FIXED = 0
 Const CF_TEXT=$01
 global ClipText:String = TextFromClipboard()
 Global timer:TTimer = CreateTimer(60)

Graphics 400,400

While Not AppTerminate()
  If ClipText
    cls
    drawtext ClipText,10,20
  EndIf

   Flip 0
   WaitTimer(timer)
Wend

Function TextFromClipboard:String()   
      If Not Openclipboard(0)
         Return ""
      EndIf
       
      Local TextBuf:Byte Ptr
       
      TextBuf = GetClipboardData(CF_TEXT)
      CloseClipboard()
       
      Return String.FromCString(TextBuf)
 End Function

 Function TextToClipboard (txt:String)
   If txt <> ""
     Local CPTR:Byte Ptr = GlobalAlloc(GMEM_FIXED,Len(txt)+1)
     For Local i = 0 Until Len(txt)
       CPTR[i] = txt[i]
     Next

     CPTR[Len(txt)+1]=0

     If OpenClipboard(0)
       EmptyClipboard()
       SetClipboardData (CF_TEXT,CPTR)
     CloseClipboard()
     EndIf

     If CPTR Then GlobalFree (CPTR)
   EndIf
 End Function

BladeRunner

Moderator

BeitragDi, Aug 16, 2016 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Du rufst die Funktion einmal vor der Hauptschleife auf. Daher wird auch nur einmal bei Programmstart aktualisiert.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

funkheld

BeitragDi, Aug 16, 2016 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles klar.

GRuss

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group