BOOL CMyDlg::OnInitDialog() // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. CMenu* pSysMenu = GetSystemMenu(FALSE); // Set the icon for this dialog. The framework does this automatically 这是由MFC AppWizard自动生成的对话框初始化代码。其步骤如下: 首先,添加菜单选项。所有已有的选项的ID值大于0xF000,添加的ID值小于0xF000.本程序将添加ID值为IDM_ABOUTBOX的选项到菜单,使得用户点击选项后可以弹出about对话框。 CMenu* pSysMenu = GetSystemMenu(FALSE); //用于获取当前的菜单,返回菜单的指针 pSysMenu->AppendMenu(MF_SEPARATOR); //在当前菜单下添加一分隔符 pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); //添加ID为 其次,设定about对话框的图标 SetIcon(m_hIcon, FALSE); //m_hIcon在CDialog中定义,该语句设定16*16大小的图标 问题: 1。m_hIcon指代什么图标,两者是怎样联系起来的? 在CMyDlg::CMyDlg()中,使用m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); IDR_MAINFRAME是图标的ID OnInitDialog() 与 OnCreate()在上篇中已提到过,这两个函数虽然简单,但有着关建性的区别 在对话框进行操作时就必须放在OnInitDialog()中 OnCreate()是指正在产生窗口但对话框还没有形成(当然窗口还没有显示),如果现在想对其中的一个对话框操作,取得的只是个空指针,呵呵! OnInitDialog()是指在在产生对话框后,窗口还没有显示时的过程函数 所以在上篇中对对话框的操作应该在OnInitDialog()中进行........ |
OnInitDialog()的原理
最新推荐文章于 2024-01-13 13:44:57 发布