在进行WIN32 API使用文本框编程时,很多情况下需要输出调试信息,或是直接输出一些有用的信息。我们通常使用SetWindowText()函数实现,但是其中的内容无法格式化修改,所以一般还要使用wsprintf()函数进行预格式化,最后还需要发送EM_SCROLL消息使滚动条显示到最下方,这就显得非常繁琐,往往要重复使用多次,失去了效率。
修改之前的代码往往是这样的:
GetLocalTime(&now_i);
Edit_len += wsprintf(&Edit1_buf[Edit_len], TEXT("[%02d:%02d:%02d.%03d]已连接.\r\n"), now_i.wHour, now_i.wMinute, now_i.wSecond, now_i.wMilliseconds);
SetWindowText(GetDlgItem(hWnd, EDIT_1), Edit1_buf);
SendMessage(GetDlgItem(My_hWnd, EDIT_1), EM_SCROLL, SB_BOTTOM, NULL);
实现的效果就是如下所示,为了显示这么一行内容,就要写下这4行代码,输出的内容多了,代码繁琐程度可想而知;