我用VC的资源编辑器创建了一个对话框,其中包括static、edit、button三种控件。然后在主程序中用
DialogBox(HIN,MAKEINTRESOURCE(IDD_INPUTDIALOG),hwnd,DialogProc);
调用。请问如何取得对话框中控件的句柄?还有,用资源编辑器在对话框中创建的控件,有没有必要显式地调用DeleteObject来删除?还是说由系统自动维护?

解决方案 »

  1.   

    请问如何取得对话框中控件的句柄?
    ---------------------------------
    1、GetDlgItem()
    2、不用
      

  2.   

    ((CEDit *)GetDlgItem(IDC_MY_EDIT))->m_hWnd;
      

  3.   

    1、GetDlgItem()
    2.CEdit* hWnd=((CEDit *)GetDlgItem(IDC_MY_EDIT));
      

  4.   

    我用VC的资源编辑器创建了一个对话框,其中包括static、edit、button三种控件。
    请问如何取得对话框中控件的句柄?
    CEdit* pEdit = (CEdit *)GetDlgItem(IDC_YOUR_EDIT);
    CButton* pButton = (CButton *)GetDlgItem(IDC_YOUR_BUTTON);
    对于static,vc的资源编辑器将所有的static控件资源名称定义为同一个:IDC_STATIC,如果你想获得某一个static的句柄,你必须在编辑器中更改其资源名称,如IDC_YOUR_STATIC
    CStatic* pStatic = (CStatic *)GetDlgItem(IDC_YOUR_STATIC);还有,用资源编辑器在对话框中创建的控件,有没有必要显式地调用DeleteObject来删除?还是说由系统自动维护?
    不用!