当前位置:  -> 首页 -> 原创文章 -> C++中采用API创建窗口回调函数如何获取自定义窗口类this指针

上一篇 | 下一篇
C++中采用API创建窗口回调函数如何获取自定义窗口类this指针
作者:洛羽叶  点击率:2236  发布时间:2012-12-06
//创建窗口
hInst=::GetModuleHandleA("TEST.DLL");
hWnd=::CreateDialogA(hInst,MAKEINTRESOURCEA(IDD_LOGWINDOW),
NULL,(DLGPROC)DialogProc);      
 

//存放this指针 
::SetDlgItemInt(hWnd,IDC_THIS,(
unsigned long)this,TRUE);       

//IDC_THIS是窗口资源上的一个EDIT CONTROL组件,用以存放this指针地址
LRESULT CALLBACK MyWindow::DialogProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam)
{
    MyWindow *pThis=GetThis();
}
 

//获取this指针
MyWindow* MyWindow::GetThis(HWND hDlg)
{
    MyWindow *pThis=
NULL;
 
    pThis=( MyWindow *)(
unsigned long)::GetDlgItemInt(hDlg,IDC_THIS,NULL,FALSE);
 
    
return pThis;
}
 

//此方法简单易行,如果窗口资源非自己控制,可以动态创建一个EDIT CONTROL控件在窗口上存放this指针。

标签: CreateDialog C++
引用地址:本站原创
   站点首页      技术人生      旅途足迹      我要留言      友情链接      关于站长   
[本站统计]
在线人数:0
今日访问:576
总访问量:1468258
Copyright 2006-2022 EasyWeb 1.6 订阅 All Rights Reserved
粤ICP备08028977号-1
www.luoriver.com
Created by WWH in 2006