![]() |
Text in ein DBRichEdit einfügen per SendMessage()
Hallo zusammen,
ich versuche nun schon länger einen Text per SendMessage() in ein DBRichEdit einzufügen. Das Handle habe ich und es ist auch korrekt. Es passiert aber nichts. Der DB-Navigator zeigt keinerlei Änderung und demzufolge steht im DBRichEdit auch nicht mein Text. Versucht habe ich einiges. U.a. das hier:
Delphi-Quellcode:
Mit Notepad z.B. funktioniert es.
s := 'Test, Test, Test';
FOR i := 1 TO Length( s ) DO SendMessage( my_HWnd, WM_CHAR, Word( s[i] ), 0 ); // Simulate Return Key. PostMessage( my_HWnd, WM_KEYDOWN, VK_RETURN, 0 ); // Simulate Space. PostMessage( my_HWnd, WM_KEYDOWN, VK_SPACE, 0 ); Hat jemand eine wertvollen Tipp für mich? Vielen Dank schon mal vorab! |
AW: Text in ein DBRichEdit einfügen per SendMessage()
Hallo,
ist das DataSet im EditMode? |
AW: Text in ein DBRichEdit einfügen per SendMessage()
Ja.
Ich weiß nicht ob es wichtig ist: es ist eine Fremdanwendung. |
AW: Text in ein DBRichEdit einfügen per SendMessage()
Eine Möglichkeit wäre noch
WM_PASTE |
AW: Text in ein DBRichEdit einfügen per SendMessage()
WM_COPYDATA
Aber keine gewähr ob die andere Anwendung diese Message behandelt. |
AW: Text in ein DBRichEdit einfügen per SendMessage()
Es liegt an der Fremdanwendung. Bei anderen Anwendungen funktioniert es. Da kann man wohl nichts machen.
|
AW: Text in ein DBRichEdit einfügen per SendMessage()
Hallo,
Zitat:
Zitat:
Klappt es denn über die Windows-Zwischenablage? Dann wäre das obige WM_PASTE eine Überlegung wert. Du kopierst deine Daten in die Zwischenablage und schickst dem Fenster ein WM_PASTE. |
AW: Text in ein DBRichEdit einfügen per SendMessage()
Gute Morgen,
über WinSpy kann ich sehen welches Control es ist. Allerdings ist es kein Standardcontrol von Delphi, sondern ein abgeleitetes Control von DBRichEdit. (die Fremdanwendung ist auch in Delphi geschrieben) Die Zwischenablage wollte ich nicht zerstören, da das Ganze recht häufig angewendet werden soll. Im Prinzip sollte es ein Ersatz für PhraseExpress werden. Also pro globalem Hotkey einen bestimmten Textbaustein am Mauscursor einfügen. |
AW: Text in ein DBRichEdit einfügen per SendMessage()
Notepad ist ein Memo. (Wordpad ist das RichEdit)
WM_KEYDOWN alleine: Wenn man eine Taste drückt, dann muß man sie auch wieder loslassen!!! WM_CHAR alleine reicht nicht immer aus. Eine Tastendruck besteht aus einem/mehreren WM_KEYDOWN, einem WM_CHAR und einem/mehreren WM_KEYUP. Rate mal, warum es mehrere Versuche von SndKey/SendKey/... gibt. Tipp: EM_REPLACESEL (TCustomComboBox.SetSelText) |
AW: Text in ein DBRichEdit einfügen per SendMessage()
Hmm...
Zitat:
wie in diesem Tread aus 2018: ![]() Das Testtool macht etwas ähnliches.. Es wartet auf einen (Hot-) Key und schickt einen Text als KeyEvent. Musst jetzt nur eigenen Keys definieren und statt des Memos von Dir vorgegebene Texte schicken. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 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