TAB oÄ im Clipboard
-
Hi,
mein programm soll 2 Strings in die Zwischenablage kopieren, und diese sollen später vom benutzer mit Strg+v eingefügt werden. Aber die Beiden Strings sollen in Verschiedene eingabefelder eingefügt werden (z.B. ein .htaccess login oÄ).
Bis jetzt sieht mein quelltext so aus:TClipboard *pClip = new TClipboard; AnsiString buf; buf = Edit1->Text + AnsiString('\x09') + Edit2->Text; pClip->SetTextBuf(buf.c_str());das \x09 hab ich von www.asciitable.com
wenn ich das programm so ausprobiere, geht er bei dem Login aber nicht in den anderen Edit, sondern es erscheint nur ein quadrat zwischen den eingaben.
was ist da falsch???
-
Das Tab wird doch dann nicht ausgeführt. Da bist du auf dem falschen Weg.
-
Du musst dazu ein Keyboard-event senden, aber wiso willst du denn ein Tabzeichen einfügen ? zuwas gibts die tab-taste ? und wiso soll der benutzer des manuell per strg+c einfügen, dass kann doch dein programm alles automatisch machen !
Beispiel: Du willst in ein programm mit 2 eingabefeldern 2 strings einfügen...
(nach dem Start des programmes hast du 3 sec. zeit zu deinem programm zu wechseln und ins erste eingabefeld zu wechseln (wo der erste string rein soll)Sleep(3000); RichEdit1->Text = "string1 in feld 1"; RichEdit1->SelectAll(); RichEdit1->CopyToClipboard(); //String einfügen (über strg+v) <- tastenanschläge werden simuliert char key = 'V'; keybd_event(VK_CONTROL, 0, 0, NULL); keybd_event(key, 0, 0, NULL); keybd_event(key, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); //in nächste feld wechseln (über tab) <- tastenanschläge werden simuliert keybd_event( VK_TAB , 0, 0, NULL); keybd_event( VK_TAB , 0, KEYEVENTF_KEYUP, 0); RichEdit1->Text = "string2 in feld 2"; RichEdit1->SelectAll(); RichEdit1->CopyToClipboard(); //String einfügen (über strg+v) <- tastenanschläge werden simuliert char key = 'V'; keybd_event(VK_CONTROL, 0, 0, NULL); keybd_event(key, 0, 0, NULL); keybd_event(key, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);