平常都是用mfc,今天要用win32操作Dialog,从网上借鉴别人的代码, 已经完成,记录一下,方便以后熟悉。
1:CreateDialog(hInst, (LPCTSTR)IDD_MAIN, 0, (DLGPROC)MainDlgProc); 调用这个函数,用已经再资源模板画好的对话框创建一个dialog
2:在IDD_MAIN对话框资源上添加一个TAB控件,然后再添加几个对话框资源。
3:在MainDlgProc消息处理函数里面,收到WM_INITDIALOG消息的时候,初始化TAB控件
4:直接通过GetDlgItem获取TAB控件的窗口句柄,然后依次插入标签,再创建对应标签的对话框,并移动对话框到合适位置。
注意,对话框的属性设置为child,否则,当主窗口移动的时候,TAB里面的对话框不会跟随移动。伪代码如下:
hWnd= GetDlgItem(hWnd, IDC_TAB);
if (NULL == hWnd)
{
return FALSE;
}
// 定义一个二维数组 存放tab标签名字
char *tabname[3] = { "TAB1","TAB2","TAB3"};
//具体开始设置 tie的字段 Mask psztext,ccxtextmax,image,lparam
TCITEM tie;
tie.mask = TCIF_TEXT | TCIF_IMAGE;//psztext字段有效
tie.iImage = -1;