有時候我們可能想在win32程式上實時列印我們想要的一些資訊,不是以覆蓋的形式而是以追加的形式。
以前我常常採用比較笨的方式,首先呼叫getdlgitemtext獲取原先字串,儲存在乙個字元陣列裡面,然後將字元陣列追加乙個字串,再呼叫setdlgitemtext函式達到自己的目的了,這種方式如果要列印的文字短還比較好處理,但是當文字量達到一定程度時,我們勢必就要分配乙個特別大的儲存區域來儲存原先的字串,而且會反覆malloc和free造成記憶體的碎片,當然這種方式效率也特別低下。
; va_list vlargs;
va_start(vlargs,stroutputstring);
_vsnprintf_s(strbuffer,sizeof(strbuffer)-1,stroutputstring,vlargs);
va_end(vlargs);
strcat_s(strbuffer, "\r\n");
/* 以下兩條語句為在edit中追加字串 */
sendmessagea(hedit, em_setsel, -2, -1);
sendmessagea(hedit, em_replacesel, true, (long)strbuffer );
/* 設定滾輪到末尾,這樣就可以看到最新資訊 */
sendmessagea( hedit, wm_vscroll, sb_bottom,0);
#endif
Win32控制項使用 Edit控制項
drecik學習經驗分享 edit控制項是乙個很強大的輸入控制項,可以處理很多樣式,通過vs的控制項屬性來設定,有單行,多行,密碼框,滾動條等。其中通知碼可以如下所示 獲得edit控制項輸入的內容可以通過之前討論過的通用函式 參考前面的博文 getwindowtext等。剪下,複製,刪除當前選擇內容...
win32 修改Edit控制項文字顏色與背景色
define wm ctlcolormsgbox 0x0132 define wm ctlcoloredit 0x0133 編輯控制項edit define wm ctlcolorlistbox 0x0134 列表控制項listbox define wm ctlcolorbtn 0x0135 按鈕控...
win32實現檔案追加
實現原理 開啟兩個檔案,迴圈讀取要追加的檔案內容,然後寫入到要被追加檔案的末尾 相關api createfile setfilepointerex readfile writefile funname filecat param szexistsfilepath 要被追加的檔案路徑 szaddfil...