dlg类中函数写入的注意事项

本文详细介绍了在MFC框架下如何设计和实现对话框,包括变量声明、初始化及静态变量的处理,并强调了对话框按钮响应函数的正确放置位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在dlg类中声明函数和变量(习惯)位置:

    class CalibSelDlg : public CDialog
  {
  // Construction
  public:
   CalibSelDlg(CWnd* pParent = NULL);   // standard constructor
    IplImage                 *current_frame_rgb,grid;
    IplImage                 *current_frame_gray;

// Dialog Data
 //{{AFX_DATA(CalibSelDlg)
 enum { IDD = IDD_CALIBRATIONSELECT };
  // NOTE: the ClassWizard will add data members here
 //}}AFX_DATA

………………

   }

2、dlg类中变量初始化位置:

   在dlg类中加入windows message handler事件wm_initdialog函数oninitdialog()函数,初始化的工作就放在此处。

3、dlg类中静态变量的声明和初始化工作

    a、静态变量的声明和初始化工作应一次完成,不能分别声明和初始化。

    b、静态变量的声明和初始化不能放在常规变量和函数的声明位置也即第“1”条中的位置;可以放在cpp文件的

      

const int    NImages = 20; //Number of images to collect
const   int NPoints = 7*7;//4*4;
const CvSize    ChessBoardSize = cvSize(7,7);//cvSize(4,4);

CalibSelDlg::CalibSelDlg(CWnd* pParent /*=NULL*/)
 : CDialog(CalibSelDlg::IDD, pParent)
{
 //{{AFX_DATA_INIT(CalibSelDlg)
  // NOTE: the ClassWizard will add member initialization here
 //}}AFX_DATA_INIT
}

这个位置。

或放在OnInitDialog() 函数里。

4、基于formview类的程序,在后来添加的DLG对话框中,对话框的按钮响应函数不能放在DOc中去,否则响应函数体没反应。

这时的dlg是不能跟doc关联。

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值