发什么消息可以向Tmemo添加一行文本?

dreamgoal 2002-03-10 08:04:18
我找了很长时间也没找到.
...全文
237 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dozemin 2002-03-10
  • 打赏
  • 举报
回复
Memo是标准的EDIT控件,楼上的,你也学习API了。
我知道一点点,,,二楼的,代码应该没问题,我没写过,我喜欢用Delphi提供的方便方法
xzgyb 2002-03-10
  • 打赏
  • 举报
回复
TMemo也是"EDIT"类型的控件
它的TStrins类型的Lines
在TMemo的构照函数执行时被实例化为TMemoStrings
其他的ComboBox,ListBox也类是
TComboBoxStrings,TListBoxStrings
由这些TStrings的派生类来包装这些消息

xzgyb 2002-03-10
  • 打赏
  • 举报
回复
这是Memo1.Lines.Insert的源代码

procedure TMemoStrings.Insert(Index: Integer; const S: string);
var
SelStart, LineLen: Integer;
Line: string;
begin
if Index >= 0 then
begin
SelStart := SendMessage(Memo.Handle, EM_LINEINDEX, Index, 0);
if SelStart >= 0 then Line := S + #13#10 else
begin
SelStart := SendMessage(Memo.Handle, EM_LINEINDEX, Index - 1, 0);
if SelStart < 0 then Exit;
LineLen := SendMessage(Memo.Handle, EM_LINELENGTH, SelStart, 0);
if LineLen = 0 then Exit;
Inc(SelStart, LineLen);
Line := #13#10 + s;
end;
SendMessage(Memo.Handle, EM_SETSEL, SelStart, SelStart);
SendMessage(Memo.Handle, EM_REPLACESEL, 0, Longint(PChar(Line)));
end;
end;
Cipherliu 2002-03-10
  • 打赏
  • 举报
回复
TMemo不是标准的SDK控件,没有这样的消息可用吧。
不过你可自己定义一个消息,在其中处理就可以了。
ihihonline 2002-03-10
  • 打赏
  • 举报
回复
先获得memo的句柄;
然后,发就可以了;
windindance 2002-03-10
  • 打赏
  • 举报
回复
我只知道用WM_GETTEXT取得文本,再用WM_SETTEXT设置文本。
dreamgoal 2002-03-10
  • 打赏
  • 举报
回复
谢谢你们的回复。

但是我需要Postmessage(),所以我需要知道发送那条消息可以给Tmemo添加一行文本?
lsh124 2002-03-10
  • 打赏
  • 举报
回复

用它的lines.add(s:string)属性方法就解决了!
windindance 2002-03-10
  • 打赏
  • 举报
回复
Memo.Lines.Insert

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧