Hallo Stefan!
um den kompletten Text eines Edit's zu markieren brauchst du lediglich SendMessage(Edit&,$B1,0,-1) und unbedingt ein SetFocus(Edit&) an des entsprechende Edit senden. Wenn das SetFocus weggelassen wird, ist zwar alles markiert, man kann es jedoch nicht sehen...
Aber wenn du nur den Text eines Edit's in die Zwischenablage legen willst, kannst du das einfach mit PutClip GetText$(Edit&) erledigen!
Anbei ein kleines Beispiel.
Mit freundlichem Gruss,
Alexander Schönfeld
CLS
Declare Edit&, Button&
Edit& = Create("Edit",%hWnd,"Das ist ein Beispieltext",10,10,200,22)
Button& = Create("Button",%hWnd,"x",210,10,22,22)
LOCATE 4,1
PRINT " Beim drücken des Button wird der Text in die Zwischenablage kopiert"
PRINT " und anschließend aus der Zwischenablage in einer Messagebox angezeigt..."
WhileNot %Key = 2
WaitInput
If GetFocus(Button&)
SendMessage(Edit&,$B1,0,-1) ' EM_SETSEL = Alles markieren
SetFocus(Edit&) ' Ohne SetFocus sieht man markierung nicht!
Sleep 1000 ' kurze Pause, nur da um zu sehen das es markiert ist
' Um einfach den Text in die Zischenablage zu kopieren, braucht man ihn aber nicht zu markieren!
PutClip GetText$(Edit&) ' PutClip = In Zwischenablage kopieren
MessageBox(GetClip$(),"",64) ' GetClip$() = Text aus Zwischenablage
EndIf
Wend
END
|