一、動態創建一個list控件
1、在頭文件中聲明一個對象
CWnd m_list;
2、在函數體中創建控件
m_list.CreateEx(WS_EX_CLIENTEDGE,"SysListViEW32",NULL,WS_VISIBLE|WS_CHILD,
CRect(10,35,300,300),this,8921);
二、句柄轉換爲CWnd
HWND hWnd=::GetDlgItem(m_hWnd,IDOK);//臨時變量
CWnd *p==CWnd ::FromHandle(hWnd);//只是臨時變量
p->SetWindowText("臨時對象");
三、attach 函數
1、在頭文件中聲明一個對象
CWnd m_edit;
2、在窗口初始化函數中:
HWND hWnd =::GetDlgItem(m_hWnd,IDC_EDIT1);
m_edit.Attach(hWnd);
3、在函數體中即可長期使用,控件與對象綁定
m_edit.SetWindowText("長期使用");
4、在窗體銷燬時要使用
m_edit.Detach();//是對象和句柄分離
四 子類化與反子類化(與attach 函數用法類似)
1、在頭文件中聲明一個對象
CWnd m_dest;
2、在窗口初始化函數中:
HWND hWnd =::GetDlgItem(m_hWnd,IDC_BUTTON1);
m_dest.SubclassWindow(hWnd);
3、在函數體中即可長期使用,控件與對象綁定
m_dest.SetWindowText("長期使用");
4、在窗體銷燬時要使用
m_dest.UnsubclassWindow();//是對象和句柄分離
也可以派生一個子類,定義對象 CMyButton ccc;
然後和要綁定的控件鏈接,和attach函數不同的是,派生的子類還可以接受綁定窗口的消息。