如何获取当前窗口也就是主窗口的句柄?

使用该函数 GetDlgItem(如果这里的参数是自身窗体控件Id) 是无法获取本窗体句柄,而换成其它控件的Id就可以。真不知道为什么??

所以,百度一次又一次,结果来了。。。详细内容请看 http://topic.csdn.net/t/20040402/14/2918013.html

这里是摘录:

AfxGetMainWnd() 该函数返回自身窗体句柄。

例如:AfxGetMainWnd()->SetWindowText("aa"); //设置窗体标题为 aa;

/*以下是 通过控件指针获取控件句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd*/

 CWnd* W = (CWnd*)GetDlgItem(IDCANCEL);
 HWND h = W->m_hWnd; //通过控件指针获取控件句柄;
 CString Str;
 Str.Format("%d",h); //格式化为10进制形式的字符串;
 AfxMessageBox(Str); 

/*

CWnd与HWND的区别与转换 下面的地址失效的话,百度一下。

http://3140618.blog.163.com/blog/static/7451797201010252483273/

*/

posted @ 2011-12-23 16:37  stma  阅读(664)  评论(0)    收藏  举报