![]() |
In Fremdanwendung Text an die aktuelle Cursorposition senden
Hi,
ich hab folgendes Problem: ich habe in einem Child Fenster 2 Edit- Felder, die dieselbe Bezeichnung haben. Nun möchte ich in das erste UND in das zweite Feld Einträge machen. Nachdem der Eintrag in das erste Feld gemacht wurde, wechsel ich per wm_Keydown in das nächste Editfeld. Nun möchte ich das so programmieren, dass er den Text an der aktuellen Cursorposition einfügt, dann wäre mein Problem beseitigt. Hat jemand ne Idee ? Mir raucht die Rübe... ______________ Rock'n'Roll... Dirk |
Hallo,
was das soll ist mir nicht so richtig klar, aber ich vermute du möchtest eine benutzerdefinierte Abfrage programmieren. Ich hab das bis jetzt immer so gemacht: -eine Combobox mit den erlaubten Log-ikwörtern (AND, OR ...); -eine Combobox mit den Erlaubten Datenbankfeldern (oder Edit-Feld für Werteeingabe; -ein "Add"-Button zum anfügen der Auswahlen und Einträge in ein Memo. Was sonst noch notwendig ist bezüglich klammern etc. kann man in der Methode des "Add"-Buttons berücksichtigen (steckt ja immer ne gewisse Logik hinter). Der Memo-Text kann dann als Abfrage verwendet werden. Gruß oki |
re
Zitat:
Hi Oki, das hast du mich falsch Verstanden, ich habe das Handle einer Fremdanwendung... mich durch die Hirachie gahangelt bis ich im ersten Editfeld des Childfensters war - habe dort einen Eintrag über mein Programm gemacht und möchte nun in das nächste Editfeld. Dies mache ich folgendermassen: postmessage(hMDIChildAcHisEd,wm_KeyDown,integer(PC har(#9)),0); nun hab ich meinen Cursor in dem Editfeld und möche an die aktuelle Cursorposition einen weiteren Text senden. Dies mache deshalb so, weil das 2te Editfeld den selben Klassennamen hat wie das erste und alle anderen ( insgesamt 5 ) wenn jedes Editfeld nen eingenen Klassennamen hätte, wär das alles ja kein Problem. Gruß, Dirk |
Hol dir den Text aus dem zweiten Editfeld, häng dein Text dran, schreib alles wieder in das zweite Editfeld rein.
|
Ups,
jo, das ist bestimmt machbar, aber bei diesem Thema habe ich zu wenig Erfahrung. Da bin ich leider nicht Dein Partner. Sorry oki |
Zitat:
das zweite Editfeld ist leer, da soll mein Eintrag rein... ich möchte lediglich an die aktuelle Cursorposition meinen Text senden, da der Cursor schon in dem besagten Editfeld positioniert wurde duch postmessage(hMDIChildAcHisEd,wm_KeyDown,integer(PC har(#9)),0); und wie gesagt, wenn ich das Handle vom 2ten Feld hätte ( es haben ALLE Editfelder den selben Klassennamen ) wäre das Problem ja nicht da :o) Gruß, Dirk |
Das ist dumm. Kennst du die ID des Edits? Die sollte eindeutig sein.
|
Zitat:
Gruß, Dirk |
Das Edit Feld hat doch den Fokus, theoretisch müsste dann alle Tastendrücke die du ans Fenster sendest in diesm Feld landen. Kannste dir das nicht irgendwie zu Nutze machen indem du quasi die Tastatur 'emulierst'?
|
Wichtig: Ist das Die ID oder das Handle? Das ist ein Unterschied. Hast du die ID kannst du so:
Code:
das Handle des Edits bekommen. Dann kannst du mit WM_SETTEXT deine Text in das Edit schreiben. genauso machts du es auch mit dem ersten Edit. Nix mit TAB simulieren oder so.
hEdit := GetDlgItem(hParent, ID_EDIT);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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