《window程序設計》果然是經(jīng)典,相對于MFC來說SDK簡直是返璞歸真啊。繼續(xù)摘錄一些API函數(shù)和技巧:
CheckRadioButton(hwnd,IDC_SERVER1,IDC_SERVER10, wServer);
1、
Selects (adds a check mark to) a given radio button in a group and clears
(removes a check mark from) all other radio buttons in the group.
在IDC_SERVER1-IDC_SERVER10中選中wServer的ID,有點像分組。
DialogBoxParam (hInst, TEXT ("Servers"), hwnd, ServerDlg, (LPARAM) szIPAddr);
2、可以在WM_INITDIALOG的LPARAM傳參數(shù),建立模態(tài)對話框。ServerDlg為消息處理函數(shù),szIPAddr為參數(shù),在WM_INITDIALOG消息響應中處理LPARAM的值。
typedef char * va_list;
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
3、va_list可變參數(shù)的結構,有點復雜慢慢看。
一般的用法是這樣(個人理解)
va_list args; //聲明變量
va_start(args, fmt); //開始解析。args指向fmt后面的參數(shù)
TYPE var = va_arg(args, TYPE); //取下一個參數(shù)并返回。args指向下一個參數(shù)
va_end(args); //結束解析
http://hi.baidu.com/kang_liang/blog/item/168c9059a9a1ca2d2934f05f.html 4、wsprintf和wvsprintf的區(qū)別,從它們的參數(shù)可以看出。
wsprintf純粹是格式化字符串,wvsprintf是以參數(shù)列表Va_list格式化字符串。