论坛: 编程破解 标题: VC++的问题! 复制本贴地址    
作者: hongyang [hongyang]    论坛用户   登录
在对话框初始化的函数中有下面的两个函数:
它们有什么作用?
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);


BOOL CGetimageDlgDlg::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);
}
}
然后又用下面的两句
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
是什么意识,&是求与,如果不求与的话,用nID==IDM_ABOUTBOX不可以吗?

这一句 pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu)
中的MF_STRING 是不是指的是系统的MENU?IDM_ABOUTBOX又是指的那一个的ID?我找了半天就是找不到。


下面的函数是什么意识?
HCURSOR CGetimageDlgDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}


















地主 发表时间: 10/25 13:02

回复: hongyang [hongyang]   论坛用户   登录
请大家帮一下了,我是刚开始学的,很多都是不懂
郁闷~~~~~~~~~~~~
谢谢!

B1层 发表时间: 10/26 17:16

回复: shesh [shesh]   版主   登录
是个断言,用于调试用的.



B2层 发表时间: 10/26 18:19

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号