在MFC中创建一个窗口是比较容易的,但是如何将主窗口与子窗口之间的关系和调用掌握住还是不太容易的,下面是找到的一些调用各种关联窗口函数或者变量的方法:
HWND hWnd=::FindWindow(NULL,_T("Sphere")); //得到对话框的句柄
C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd); //由句柄得到对话框的对象指针
通过窗口类函数:CWnd *GetWindow获得窗口指针,pWnd->m_hWnd(The handle of the Windows window attached to this CWnd)在::FromHandle(hWnd);
C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd); //由句柄得到对话框的对象指针
通过窗口类函数:CWnd *GetWindow获得窗口指针,pWnd->m_hWnd(The handle of the Windows window attached to this CWnd)在::FromHandle(hWnd);
获取主窗口句柄: CWnd *wnd = AfxGetMainWnd();
HWND hwnd = wnd->GetSafeHwnd();
设置控件为窗口焦点:GetDlgItem(IDC_TREE1)->SetFocus();
获取控件句柄:HWND hwndctrl = ::GetDlgItem(mainHwnd, IDC_TREE1);//获取树形控件的句柄IDC_TREE IDC_COMBO1
获取当前最上层窗口的句柄: HWND mainHwnd = ::GetForegroundWindow();//获取当前topmost的窗口句柄
获取当前窗口的焦点句柄: HWND currentFocus = ::GetFocus();
给大家一个链接网址能更好的学习c++和mfc:http://pan.baidu.com/s/1slPLa8X 密码:p13a