本文整理汇总了C++中CDialog::Attach方法的典型用法代码示例。如果您正苦于以下问题:C++ CDialog::Attach方法的具体用法?C++ CDialog::Attach怎么用?C++ CDialog::Attach使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDialog
的用法示例。
在下文中一共展示了CDialog::Attach方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DefDialogProc
INT_PTR CALLBACK DefDialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
CDialog* pThis = NULL;
CDialog* pThat = NULL;
switch(uMsg)
{
case WM_INITDIALOG:
pThis=(CDialog*)lParam; //获取对象指针
if( NULL != pThis)
{
pThis->Attach(hWnd); //设置HWND和对象之间的关系
SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)pThis); //将对象指针保存到窗口hWnd用户数据空间
}
break;
default:
break;
}
pThat = (CDialog*)GetWindowLongPtr(hWnd, GWLP_USERDATA); //从窗口句柄hWnd得到对象指针,因为之前有SetWindowLongPtr()
if(NULL != pThat)
{
return ( pThat->HandleMessage(uMsg,wParam, lParam) );
}
return (INT_PTR)FALSE;
}
示例2: tempDialog
static INT_PTR APIENTRY DialogProcedure(HWND dialogHWND, UINT message, WPARAM wParam, LPARAM lParam)
{
CWindow tempDialog(dialogHWND);
if (message == WM_INITDIALOG)
tempDialog.SetUserDataLongPtr(lParam);
CDialog *dialog = (CDialog *)(tempDialog.GetUserDataLongPtr());
if (dialog == NULL)
return FALSE;
if (message == WM_INITDIALOG)
dialog->Attach(dialogHWND);
try { return BoolToBOOL(dialog->OnMessage(message, wParam, lParam)); }
catch(...) { return TRUE; }
}
示例3: dialogTmp
static INT_PTR APIENTRY DialogProcedure(HWND dialogHWND, UINT message,
WPARAM wParam, LPARAM lParam)
{
CWindow dialogTmp(dialogHWND);
if (message == WM_INITDIALOG)
dialogTmp.SetUserDataLongPtr(lParam);
CDialog *dialog = (CDialog *)(dialogTmp.GetUserDataLongPtr());
if (dialog == NULL)
return FALSE;
if (message == WM_INITDIALOG)
dialog->Attach(dialogHWND);
return BoolToBOOL(dialog->OnMessage(message, wParam, lParam));
}