![]() |
AW: ClipBord
Hallo,
erst mal wieder ein großes Danke für die rege Teilname. Aber wie ich aus den Hinweisen ersehen kann, ist noch nicht allen klar worum es genau geht. Wahrscheinlich drücke ich mich zu ungenau aus. Daher nochmal, der Anwender öffnet ein Textformular und der Cursor steht im Textfeld. Er drückt jetzt "Strg+T" und es öffnet sich ein Listfeld mit verschiedenen Texten die der Anwender erstellt hat. Er klickt eine Textdatei an. Die Datei wird gelesen und der Text wird in die Zwischenablage von Windows kopiert und das Listfeld schließt sich. Natürlich könnte der Anwender den Text jetzt per "Shift+Einf" in sein Textdokument einfügen, aber genau das möchte ich vermeiden. Der Text soll nach drücken von "Strg+T" sofort in das Textdokument eingefügt werden. Der Ansatz von CodeZwerg scheint ein guter Weg zu sein. Ich gehe davon aus, dass 's' den Text aus der Zwischenablage übernehmen soll. Leider werden im Textfeld aber nur ein paar Zahlen ausgegeben. Aber zumindest wird schon mal was ausgegeben. Gleichzeitig öffnet sich ein Suchfeld, in dem auch einige Zahlen stehen. Ich denke, dass mit der Lösung dieses Problems auch vielen anderen geholfen wird die ein ähnliches Problem haben. Gruss Oldmann |
AW: ClipBord
Wie wäre es wenn Du uns einfach mal Dein Projekt zeigst?
Das was Du wolltest macht der Schnippsel den ich gab, wie Du den benutzt kann ich nicht beurteilen da ich kein Code sehe. Du hast ein Talent Dich so auszudrücken das nicht nur ein Result bei rauskommen kann und bei jeder Aussage kommt was anderes hinzu wo noch mehr ??? auftauchen da wieder irgendwas verschleiert bleibt. Vielleicht hat ja jemand ne stärkere Glaskugel, mir geht der Saft aus :-) |
AW: ClipBord
Das Clipboard arbeitet immer mit dem aktiven Fenster (hat den Fokus). Dies habe ich schon im Beitrag #18 versucht, deutlich zu machen.
Wenn du also über die Zwischenablage gehen willst, dann musst du dein Zielprogramm zum aktiven Fenster machen. Sonst wird das nichts. Beiträge über "aktives Fenster" gibt es zuhauf im Forum. |
AW: ClipBord
Hallo CodeZwerg,
Hier ist das Listing:
Delphi-Quellcode:
Gruss Oldmann
procedure TForm4.FileListBox1Click(Sender: TObject);
var s,d_name:string; i:integer; begin If FileListBox1.ItemIndex >= 0 Then begin Clipboard.clear; d_name:=ExtractFileName(filelistbox1.filename); Try Assignfile(f,lpf+'\Mustertexte\'+d_name); Reset(f); while not eof (f) do begin readln(f,s); Clipboard.AsText:=Clipboard.AsText+s+#13#10; end; Closefile(f); Except Closefile(f); end; Form4.Close; end; [COLOR="Blue"]// Hier habe ich Deinen Text eingefügt.[/COLOR] for i := 1 to Length(s) do begin keybd_event(Ord(s[i]), 0, 0, 0); Sleep(10); keybd_event(Ord(s[i]), 0, 0 or KEYEVENTF_KEYUP, 0); Sleep(10); end; end; |
AW: ClipBord
Wenn Form4.Close aufgerufen wurde, was hat dann den Focus? Deine ListBox1 ? (so klappt mein Code nicht)
|
AW: ClipBord
Hallo KodeZwerg,
Form4 wird ja nicht mehr gebraucht, da der Text ja in der Zwischenablage von Windows ist. Oldmann |
AW: ClipBord
Damit es präziser arbeitet solltest Du per
![]() ![]() Ps: Die Zwischenablage/Clipboard benötigst Du nicht um ans Ziel zu kommen. |
AW: ClipBord
Hallo KodeZwerg,
Diesen Befehl kenne ich nicht. Wie und wo mus ich den in meinem Code einsetzen. Oldmann |
AW: ClipBord
GetForegroundWindow() im Hotkey-Event. Gleich als erstest bevor Du Deinen Kram anzeigen lässt.
SetForegroundWindow() vor meinem Schnippsel mit dem Result vom obigen GetForegroundWindow(). Wenn Du da mehr Hilfe brauchst müsste man mehr Code von Dir sehen. Wenn es nicht gerade ein Geheimprojekt ist, häng es doch einfach mal ran. |
AW: ClipBord
Hallo KodeZwerg,
Hier ist mehr Code:
Delphi-Quellcode:
oldmann
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
var fNameBMP, fNameJPG, verz_name:string; pic : TImage; begin if Msg.HotKey = id1 then begin Form4.Filelistbox1.Mask:=Lpf+'Mustertexte\*.txt'; Form4.Show; end; if Msg.HotKey = id2 then begin Clipboard.clear; Clipboard.AsText:=Clipboard.AsText+'ews@eberhard-werner.de'; // Form1.PasteFromClipBoard; end; end; procedure TForm1.WMTASKBAREVENT(var message: TMessage); var point : TPoint; begin case message.LParamLo of WM_LBUTTONDBLCLK : begin form2.show; end; WM_RBUTTONDOWN : begin GetCursorPos(point); popupmenu1.popup(point.x,point.y); end; end; end; procedure TaskBarAddIcon; var tnid : TNOTIFYICONDATA ; begin tnid.cbSize := sizeof(TNOTIFYICONDATA); // Größenangabe der Struktur tnid.Wnd := Form1.handle; // Handle des Message-Empfängers tnid.uID := 1; // ID beliebig tnid.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; // siehe Tabelle tnid.uCallbackMessage := WM_TASKBAREVENT; // Message# für Form1 tnid.hIcon := form1.image2.picture.icon.handle; // Iconhandle strcopy(tnid.szTip,'Textdateien'); // Tooltiptext Shell_NotifyIcon(NIM_ADD, @tnid); // Registrieren ... end; procedure TaskBarRemoveIcon; var tnid : TNOTIFYICONDATA ; begin tnid.cbSize := sizeof(TNOTIFYICONDATA); tnid.Wnd := Form1.handle; tnid.uID := 1; Shell_NotifyIcon(NIM_DELETE, @tnid); end; procedure TForm1.FormCreate(Sender: TObject); const MOD_ALT = 1; MOD_CONTROL = 2; MOD_SHIFT = 4; MOD_WIN = 8; VK_A = $41; VK_R = $52; VK_F4 = $73; VK_T = $54; VK_E = $45; VK_0 = $30; VK_1 = $31; VK_2 = $32; VK_3 = $33; VK_4 = $34; VK_5 = $35; VK_6 = $36; VK_7 = $37; VK_8 = $38; VK_9 = $39; begin // Register Hotkey Ctrl + T id1 := GlobalAddAtom('Hotkey1'); RegisterHotKey(Handle, id1, MOD_CONTROL, VK_T); ShowWindow(GetWindow(handle,GW_OWNER),SW_HIDE); id2 := GlobalAddAtom('Hotkey2'); RegisterHotKey(Handle, id2, MOD_CONTROL, VK_E); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz