初学者心态

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

GetDlgItem有API的和CWnd的,

API函数有两个参数,第一个是要获得控件的窗口指外地,第二个参数是要获得控件的ID标识,返回的则是该控件的窗口句柄   
 CWnd的成员函数GetDlgItem(),就忽略了窗口句柄,只有一个参数,就是要获得控件的ID标识,返回的则是该控件的CWnd*的指针  

 

void   GetDlgItem(  
        int   nID,  
        HWND*   phWnd  
  )   const


  AIP用法讲解

CEdit   *   output;        

output   =(CEdit   *)   GetDlgItem(IDC_EDIT1);   //首先获得CEdit控件的指针
output->SetWindowText(m_sShowText);   //添加显示内容  
    
  上面就是通过GetDlgItem获得指向Edit控件的指针 

或者

CWnd::GetDlgItem     是CWnd的成员函数,如果在CWnd派生的类中使用,可直接使用  
  CWnd*   pWnd   =   GetDlgItem(ID_XXX);  
   
  否则,用SDK函数  
  HWND   GetDlgItem(  
      HWND   hDlg,               //   handle   to   dialog   box  
      int   nIDDlgItem       //   control   identifier  
  );  
   
  这样用:  
  HWND   hWnd;   
  hWnd= ::GetDlgItem(hWndParent,   ID_XXX);  
  CWnd*   pWnd   =   CWnd::FromHandle(hWnd);  //从句柄到指针:  
  或创建一个CWnd对象Attach上去,比如:

  pWnd->attach(Hwnd);

  API函数有两个参数,第一个是要获得控件的窗口指针,第二个参数是要获得控件的ID标识,返回的则是该控件的窗口句柄  
    
  CWnd的成员函数GetDlgItem(),就忽略了窗口句柄,只有一个参数,就是要获得控件的ID标识,返回的则是该控件的CWnd*的指针  

posted on 2012-03-28 09:36  初学者心态  阅读(4542)  评论(0编辑  收藏  举报