1. CListCtrl 控件;
- void CDynCreateCtrlDlg::OnOK()
- {
- CWnd *wnd;
- CRect rect;
- rect.left = 20;
- rect.right = rect.left + 50;
- rect.top = 20;
- rect.bottom = rect.top + 90;
- CListCtrl *pListCtrl;
- if (!(wnd =GetDlgItem(ID_MYCTRULLIST)))
- {
- if(m_list.CreateEx(WS_EX_CLIENTEDGE, // Make a 3D-border
- _T("EDIT"),
- NULL,
- ES_AUTOHSCROLL|
- ES_LEFT|ES_NOHIDESEL|
- WS_CHILD,
- rect, this,
- ID_MYCTRULLIST))//生成edit控件
- {
- //MessageBox("CreateEx ok!",NULL,MB_ICONSTOP);
- m_list.ShowWindow(SW_SHOW);
- m_list.SetFocus();
- }
- //MessageBox("GetDlgItem ok!",NULL,MB_ICONSTOP);
- }
- //添加一些项
- CString str;
- for(int i=0;i<10;i++)
- {
- str.Format("item%d",i);
- m_list.InsertItem(i,str);
- }
- }
- void CDynCreateCtrlDlg::OnCancel()
- {
- // TODO: Add extra cleanup here
- CDialog::OnCancel();
- }
- void CDynCreateCtrlDlg::OnChangeEdit()
- {
- GetDlgItem(ID_MYEDIT)->GetWindowText(m_StaticCtrl);
- UpdateData(FALSE);
- }
- void CDynCreateCtrlDlg::OnButton1()
- {
- CWnd *wnd;
- if (wnd =GetDlgItem(ID_MYEDIT))
- wnd->DestroyWindow() ;
- if (wnd =GetDlgItem(ID_MYCTRULLIST))
- wnd->DestroyWindow() ;
- }
2.CEdit 控件
- void CDynCreateCtrlDlg::OnOK()
- {
- CWnd *wnd;
- CRect rect;
- rect.left = 20;
- rect.right = rect.left + 110;
- rect.top = 20;
- rect.bottom = rect.top + 30;
- if (!(wnd =GetDlgItem(ID_MYEDIT)))
- {
- m_MyEdit.CreateEx(WS_EX_CLIENTEDGE, // Make a 3D-border
- _T("EDIT"),
- NULL,
- ES_AUTOHSCROLL|
- ES_LEFT|ES_NOHIDESEL|
- WS_CHILD,
- rect, this,
- ID_MYEDIT);//生成edit控件
- m_MyEdit.ShowWindow(SW_SHOW);
- m_MyEdit.SetFocus();
- }
- }
- void CDynCreateCtrlDlg::OnCancel()
- {
- // TODO: Add extra cleanup here
- CDialog::OnCancel();
- }
- void CDynCreateCtrlDlg::OnChangeEdit()
- {
- GetDlgItem(ID_MYEDIT)->GetWindowText(m_StaticCtrl);
- UpdateData(FALSE);
- }
- void CDynCreateCtrlDlg::OnButton1()
- {
- CWnd *wnd;
- if (wnd =GetDlgItem(ID_MYEDIT))
- wnd->DestroyWindow() ;
- }
3.通过PList=new CListCtrl(); PList 指针生成CList 控件; PList是CDynCreateCtrlDlg 的成员函数
CWnd *wnd;
CRect rect;
rect.left = 20;
rect.right = rect.left + 100;
rect.top = 20;
rect.bottom = rect.top + 150;
PList=new CListCtrl();
if (!(wnd =GetDlgItem(ID_MYCTRULLIST)))
{
if(PList->Create(WS_EX_CLIENTEDGE, rect, this,ID_MYCTRULLIST))
{
PList->ShowWindow(SW_SHOW);
PList->SetFocus();
}
}
ps:
定义CDynCreateCtrlDlg类成员:
CEdit m_MyEdit;
CListCtrl m_list;
CListCtrl * PList;
#define ID_MYEDIT 1820
#define ID_MYCTRULLIST 1821