AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Text in ein DBRichEdit einfügen per SendMessage()
Thema durchsuchen
Ansicht
Themen-Optionen

Text in ein DBRichEdit einfügen per SendMessage()

Offene Frage von "himitsu"
Ein Thema von juergen · begonnen am 31. Jan 2021 · letzter Beitrag vom 6. Feb 2021
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#1

Text in ein DBRichEdit einfügen per SendMessage()

  Alt 31. Jan 2021, 00:30
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:
  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 );
Mit Notepad z.B. funktioniert es.

Hat jemand eine wertvollen Tipp für mich?

Vielen Dank schon mal vorab!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von juergen (31. Jan 2021 um 00:36 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 31. Jan 2021, 01:02
Hallo,
ist das DataSet im EditMode?
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 31. Jan 2021, 01:13
Ja.
Ich weiß nicht ob es wichtig ist: es ist eine Fremdanwendung.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von juergen (31. Jan 2021 um 01:36 Uhr)
  Mit Zitat antworten Zitat
jziersch

Registriert seit: 9. Okt 2003
Ort: München
251 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 31. Jan 2021, 11:58
Eine Möglichkeit wäre noch
WM_PASTE
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#5

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 31. Jan 2021, 12:51
WM_COPYDATA
Aber keine gewähr ob die andere Anwendung diese Message behandelt.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 31. Jan 2021, 21:13
Es liegt an der Fremdanwendung. Bei anderen Anwendungen funktioniert es. Da kann man wohl nichts machen.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 1. Feb 2021, 07:35
Hallo,
Zitat:
DBRichEdit und Fremdanwendung.
Woher weisst Du., dass es ein DBRichEdit ist?

Zitat:
Mit Notepad z.B. funktioniert es.
Dein Code trägt in Notepad was ein?

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.
Heiko

Geändert von hoika ( 1. Feb 2021 um 07:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 1. Feb 2021, 08:41
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.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#9

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 1. Feb 2021, 09:02
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Feb 2021 um 09:07 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#10

AW: Text in ein DBRichEdit einfügen per SendMessage()

  Alt 1. Feb 2021, 17:49
Hmm...

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.


wie in diesem Tread aus 2018:

https://www.delphipraxis.net/1419689-post33.html

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.
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz