Qt程序如何用PostMessage向一个窗口输入文字


类型:C++ & Qt4,创建时间:Jan. 1, 2012, 2:12 p.m.

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/49/。

写一些监控类程序的时候,有时候会要求某个条件满足的时候就向某个窗口 写入一堆文字。我首先想到的是PostMessage。对于文本框之类的控件,可以使用WM_SETTEXT这个消息。如果不是文本控件,只好使用WM_CHAR写入一个个的文字。 基本的用法是这样子的:

PostMessage(hwnd, WM_CHAR, c, 0);

如果编译的时候定义了UNICODE。那其中的c是文字的utf-16码(TCHAR)。Qt的QChar有个unicode()方法,可以取得utf-16内码。

QString s=tr("一段中文和Enlish Text");
foreach(QChar c, s)
    PostMessage(hwnd, WM_CHAR, c.unicode(), 0);

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/49/。


暂时还没有任何评论。


何不来发表一下您对本文的看法(使用Markdown语法,分段空两行):