谁帮我解释一下,这段vc++程序?

来源:百度知道 编辑:UC知道 时间:2024/05/03 08:30:08
BOOL CListenDemoDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
}

解释越详细越好,每句的的意思呀,我怎么感觉就看不懂呀!
还有下面两句
SetIcon(m_hIcon, TRUE); // HICON m_hIcon;
SetIcon(m_hIcon, FALSE); //

具体一点,就是每句起什么做用!

BOOL CListenDemoDlg::OnInitDialog()//这个函数在对话框初始化的时候调用
{
CDialog::OnInitDialog();

// Add "About..." menu item to system menu.
// 这里已经说明白了是向系统菜单添加“About”菜单项
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
//上面2个宏检测菜单项ID是否有问题
CMenu* pSysMenu = GetSystemMenu(FALSE);
//获取系统菜单句柄
if (pSysMenu != NULL)//系统菜单为空时候的处理
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())//系统菜单不为空时候的处理
{
pSysMenu->AppendMenu(MF_SEPARATOR);//菜单中加入一条分割线
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);//加入“About”菜单项
}
}
}

SetIcon(m_hIcon, TRUE); //设置大图标
SetIcon(m_hIcon, FALSE); //设置小图标

你倒是说是啥啊,,,,,

加载菜单。

向系统菜单添加关于菜单项