代码精读AddText(HWNDhwnd,PCTSTRpszFormat,...)

2014-11-23 17:56:41 · 作者: · 浏览: 43

  // Adds a string to an edit control


  //显示大文本框中的内容


  void AddText(HWND hwnd, PCTSTR pszFormat, ) {


  va_list argList;


  //是在C语言中解决变参问题的一组宏


  //VA_START宏初始化变量刚定义的VA_LIST变量,//这个宏的第二个参数是第一个可变参数的前一个参数,是一个固定的参数。


  TCHAR sz[20 * 1024];


  //Edit_GetText(hwnd, sz, chDIMOF(sz));欠揍的宏GetWindowText(hwnd, sz, chDIMOF(sz));


  //chDIMOF是一个宏#define chDIMOF(Array) (sizeof(Array) / sizeof(Array[0]))


  _vstprintf(_tcschr(sz, 0), pszFormat, argList);


  //格式化字符串到指定内存位置_tcschr(sz, 0)sz中有以0为ASCII的字符的位置,//pszFormat为格式,argList可变参数列表//Edit_SetText(hwnd, sz);欠揍的宏SetWindowText(hwnd, sz);


  va_end(argList);


  //VA_END宏结束可变参数的获取。然后你就可以在函数里使用第二个参数了。


  //如果函数有多个可变参数的,依次调用VA_ARG获取各个参数。


  //这里不调不好发现是什么意思


  }


  编辑特别推荐: