BOOL CWnd::Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect, CWnd* pParentWnd, UINT nID,CCreateContext* pContext)在MSDN上nID被解释为子窗口的ID,我想知道这个ID有什么用?在创建窗口时是否可以有相同的ID?如果不同该ID如何管理?

解决方案 »

  1.   

    这个ID一般都是唯一的,你可以自己管理,只要不重复的UINT就行。通过这个ID,你可以获得窗口上的控件。
      

  2.   

    ID的定义在resource.h里,标示了一个窗口的id,如IDD_XXX,IDC_XXX等
    id有可能相同,如静态文本框、IDOK、IDCANCEL等
      

  3.   

    void CMyDlg::OnCreateStatic() 
    {
       CWnd* pWnd = new CWnd;
       pWnd->Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE,
           CRect(0, 0, 20, 20), this, 1234);
    }
    这是msdn中的例子,他的这个ID好像是随便写的,我的ID也可以随便写?
    另外我要怎么去确定我的窗口ID是否重复?