Autor Beitrag
Quake User
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Do 05.01.06 04:13 
Ich Versuche an ein "Window" eine Nachricht zu schicken.
Diese kommt aber in einzelnen Zeichen an und nicht erst
nach dem Return.

Wie kann ich die Zeichenkette des Edit1 als EIN String schicken?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
function EnumChildProc(Wnd: HWnd; param: lParam): boolean; stdcall;
  var i: integer;
begin
  for i := 1 to length(form1.edit1.text) do
  begin
    PostMessage(Wnd, WM_Char ,Ord(form1.edit1.text[i]),1);
    PostMessage(wnd, WM_Char ,13,1); {abschicken mit return}
  end;
end;


Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt.
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 05.01.06 07:17 
Ob es bei PostMessage genauso funktioniert wie bei SendMessage, kann ich dir nicht sagen (ich vermute es aber ganz stark).

Probiere es mal so hier:
ausblenden Delphi-Quelltext
1:
PostMessage(Wnd, WM_Char, wParam(form1.edit1.text[i]), 1)					


lParam bzw. wParam wandelt den String in einen Integer um (wodurch der String nicht beliebig lang sein kann). Zum auslesen nimmste dann z.B.:
ausblenden Delphi-Quelltext
1:
form1.edit1.text[i].=PChar(Msg.wParam)					


mfg
Heiko