C++讲解7.docVIP

  • 0
  • 0
  • 约1.07万字
  • 约 12页
  • 2016-11-27 发布于河南
  • 举报
C讲解7

类的继承图表 CObject ? CCmdTarget ??? CWnd?????? //由CWnd派生,是一个窗口类 ????? CDialog????? 对话框分为模态对话框和非模态的对话框 CDialog::DoModal ?//virtual int DoModal() ?调用DoModal()创建一个模态的对话框 ?它的返回值是做为CDialog::EndDailog成员函数的参数,这个参数用来关闭对话框?? CDialog::EndDailog ?//用来关闭模态的对话框???????????????? CDialog::Create ?//创建非模态的对话框 ?//初始化一个CDialog对象,创建一个非模态的对话框(modeless dialog box) ?//把它将一个CDialog对象关联起来 ?//BOOL Create( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL); ?//BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL); ?//lpszTemplateName: 对话框模板的名字 ?//nIDTemplate:????? 对话框模板的ID号 ?//pParentWnd:?????? 对话框父窗口的指针,如果为NULL,则对话框的父窗口将被设置为主应用程序窗口 模态对话框的显示不用调用ShowWindow 而非模态的对话框在调用Create创建完对话框之后,需要调用ShowWindow显示对话框//ShowWindow(SW_SHOW) CAUTION: ??? 对于模态的对话框,在模态的对话框显示时,应用程序是暂停执行的,所以模态的对话框对象可以 ?是局部对象,不会在模态的对话框显示之前析构。 ??? 而对于非模态的对话框,应用程序不会暂停执行,所以非模态对话框的对象不能是局部对象,非模态的 ?对话框对象有两种定义方法: ?1:定义对话框成员变量 ?2:在堆上分配内存,在堆上分配的内存和我们整个应用程序的生命周期是一样的,可以如下定义: ??? CTestDlg *pDlg=new CTestDlg();??? //注意内存看见的回收,防止memory leak ??? ??? CAUTION: ? 对于模态的对话框,当我们点击OK或者Cancel按钮时这个对话框窗口是被销毁了的 ? 对于非模态的对话框,这个对话框窗口并没有被销毁,只不过是隐藏了,当我们点击OK时,由基类的 ? 虚函数OnOK()响应 ? CDialog::OnOK ?//virtual void OnOK(); ?//如果你在一个非模态的对话框中实现了一个OK Button,你必须重载OnOK成员函数,在它内部调用 ?//DestroyWindow,不要调用基类的成员函数,因为它调用的是EndDialog,which makes the dialog ?//box invisible but does not destroy it. ? ? CButton::Create ?//BOOL Create(LPCTSTR lpszCaption, DWORD dwStyle, const RECT rect, CWnd* pParentWnd, UINT nID) ?//创建Button ?//按钮也是子窗口,如果dwstyle中不包含WS_VISIBLE,则在创建完Button后,继续调用ShowWindow()显示 ?//按钮 ? CWnd和任何由CWnd类派生出来的窗口类对象,内部都有一个成员变量m_hWnd保存和这个对象相关联的窗口的 句柄,没有窗口和它关联时,m_hWnd的值为NULL 静态的文本框也是一个窗口,要获取静态文本框的文本,可以使用函数 CWnd::GetWindowText 设置文本使用 CWnd::SetWindowText ?CWnd::GetWindowText ??//int GetWindowText( LPTSTR lpszStringBuf, int nMaxCount )const; ??//void GetWindowText( CString rString ) const; ?CWnd::SetWindowText ??// void SetWindowText( LPTSTR lpszString) ?? 对于静态的文本框是不能接收通告消息的,如果让它接收通告消息,需要把它的属性的style的Notify项选上 atoi函数 ? int atoi( const char *string)? //将数值字符,转化为整形数值 ? char* _itoa( in

文档评论(0)

1亿VIP精品文档

相关文档