代碼精讀AddText(HWNDhwnd,PCTSTRpszFormat,...)

字號:

// Adds a string to an edit control
    //顯示大文本框中的內(nèi)容
    void AddText(HWND hwnd, PCTSTR pszFormat, ) {
    va_list argList;
    //是在C語言中解決變參問題的一組宏
    va_start(argList, pszFormat);
    //VA_START宏初始化變量剛定義的VA_LIST變量,//這個(gè)宏的第二個(gè)參數(shù)是第一個(gè)可變參數(shù)的前一個(gè)參數(shù),是一個(gè)固定的參數(shù)。
    TCHAR sz[20 * 1024];
    //Edit_GetText(hwnd, sz, chDIMOF(sz));欠揍的宏GetWindowText(hwnd, sz, chDIMOF(sz));
    //chDIMOF是一個(gè)宏#define chDIMOF(Array) (sizeof(Array) / sizeof(Array[0]))
    _vstprintf(_tcschr(sz, 0), pszFormat, argList);
    //格式化字符串到指定內(nèi)存位置_tcschr(sz, 0)sz中有以0為ASCII的字符的位置,//pszFormat為格式,argList可變參數(shù)列表//Edit_SetText(hwnd, sz);欠揍的宏SetWindowText(hwnd, sz);
    va_end(argList);
    //VA_END宏結(jié)束可變參數(shù)的獲取。然后你就可以在函數(shù)里使用第二個(gè)參數(shù)了。
    //如果函數(shù)有多個(gè)可變參數(shù)的,依次調(diào)用VA_ARG獲取各個(gè)參數(shù)。
    //這里不調(diào)不好發(fā)現(xiàn)是什么意思
    }