成功解决此问题后how to print a format string into window ,我又遇到了另一个问题。
如果有很多格式字符串,如何将它们打印到窗口中?例如下面:
sprintf(buf, formatString-1...);
SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)buf);
...
sprintf(buf, formatString-2...);
SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)buf);
...
sprintf(buf, formatString-3...);
SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)buf);
...
请注意,只有 formatString-3 被打印到窗口中,而我想将它们全部打印到窗口中。怎么做到的?(PS:请不要使用buf concatenate)谢谢!~
最佳答案
您是否尝试生成控制台样式或日志样式的窗口,其中包含多行文本,一行接着一行?
如果是这样,最简单的方法是选择一个可以为您执行此操作的控件。像静态(通常用于标签)之类的东西通常一次只对一个字符串有用。如果你想显示多行输出,你的两个主要选择是:
列表框控件:使用 LB_ADDSTRING 将项目添加到末尾。 (您可能希望使用 LB_SETCURSEL 或类似的方法来选择最后一项,以便在将项目添加到末尾时,它会滚动以显示最后一项。)
只读多行编辑控件:使用 the technique outlined here on MSDN 将文本追加到末尾.请注意,使用这种方法,您需要自己提供“\r\n”以创建新行。
关于c++ - 如何将许多格式字符串打印到窗口中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892323/