![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C++MFC语句注释
ntCSnakeDlg::OnInitDialog()//整个不懂。。。{CDialog::OnInitDialog();//对话框初始化ASSERT((IDM_ABOU...
nt CSnakeDlg::OnInitDialog()//整个不懂。。。
{
CDialog::OnInitDialog(); //对话框初始化
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); //设置大图标
SetIcon(m_hIcon, FALSE); //设置小图标
m_main_menu.LoadMenu(IDR_MAIN_MENU);
SetMenu(&m_main_menu);
InitMenu();
m_snake.CreateEx( WS_EX_CLIENTEDGE, _T("SNAKEMAP"), NULL, WS_VISIBLE | WS_BORDER | WS_CHILD,
CRect( 0, 0, 325, 425 ), this, SNAKEMAP );
GetDlgItem( SNAKEMAP )->SetFocus();
return TRUE;
}
整个语句都不懂,求详细解释
int CSnakeDlg::OnInitDialog()//整个不懂。。。 (开头语句) 展开
{
CDialog::OnInitDialog(); //对话框初始化
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); //设置大图标
SetIcon(m_hIcon, FALSE); //设置小图标
m_main_menu.LoadMenu(IDR_MAIN_MENU);
SetMenu(&m_main_menu);
InitMenu();
m_snake.CreateEx( WS_EX_CLIENTEDGE, _T("SNAKEMAP"), NULL, WS_VISIBLE | WS_BORDER | WS_CHILD,
CRect( 0, 0, 325, 425 ), this, SNAKEMAP );
GetDlgItem( SNAKEMAP )->SetFocus();
return TRUE;
}
整个语句都不懂,求详细解释
int CSnakeDlg::OnInitDialog()//整个不懂。。。 (开头语句) 展开
1个回答
展开全部
只能尽力解释了。。
int CSnakeDlg::OnInitDialog()//整个不懂。。。
{
CDialog::OnInitDialog(); //对话框初始化
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); //标识IDM_ABOUTBOX验证
ASSERT(IDM_ABOUTBOX < 0xF000); //验证IDM_ABOUTBOX
CMenu* pSysMenu = GetSystemMenu(FALSE); //获得菜单句柄
//这里在菜单后面添加一个菜单项,应该就是那个关于菜单项
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX); //根据资ID,IDS_ABOUTBOX,加载字符串
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);//附加一个分隔符
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); //附加一个菜单项
}
}
SetIcon(m_hIcon, TRUE); //设置大图标
SetIcon(m_hIcon, FALSE); //设置小图标
m_main_menu.LoadMenu(IDR_MAIN_MENU); //根据IDR_MAIN_MENU 加载Menu
SetMenu(&m_main_menu);//将当前菜单设为指定的菜单m_main_menu
InitMenu(); //初始化
m_snake.CreateEx( WS_EX_CLIENTEDGE, _T("SNAKEMAP"), NULL, WS_VISIBLE | WS_BORDER | WS_CHILD,
CRect( 0, 0, 325, 425 ), this, SNAKEMAP ); //创建窗口
GetDlgItem( SNAKEMAP )->SetFocus(); //在刚创建的窗口上,设置键盘焦点
return TRUE;
}
int CSnakeDlg::OnInitDialog()//整个不懂。。。
{
CDialog::OnInitDialog(); //对话框初始化
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); //标识IDM_ABOUTBOX验证
ASSERT(IDM_ABOUTBOX < 0xF000); //验证IDM_ABOUTBOX
CMenu* pSysMenu = GetSystemMenu(FALSE); //获得菜单句柄
//这里在菜单后面添加一个菜单项,应该就是那个关于菜单项
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX); //根据资ID,IDS_ABOUTBOX,加载字符串
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);//附加一个分隔符
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); //附加一个菜单项
}
}
SetIcon(m_hIcon, TRUE); //设置大图标
SetIcon(m_hIcon, FALSE); //设置小图标
m_main_menu.LoadMenu(IDR_MAIN_MENU); //根据IDR_MAIN_MENU 加载Menu
SetMenu(&m_main_menu);//将当前菜单设为指定的菜单m_main_menu
InitMenu(); //初始化
m_snake.CreateEx( WS_EX_CLIENTEDGE, _T("SNAKEMAP"), NULL, WS_VISIBLE | WS_BORDER | WS_CHILD,
CRect( 0, 0, 325, 425 ), this, SNAKEMAP ); //创建窗口
GetDlgItem( SNAKEMAP )->SetFocus(); //在刚创建的窗口上,设置键盘焦点
return TRUE;
}
追问
CRect( 0, 0, 325, 425 ), this, SNAKEMAP ); //创建窗口 ( 0, 0, 325, 425 )这个是什么,this指向哪里,SNAKEMAP代表的是信创建的窗口名字吗?
( 0, 0, 325, 425 ), this, SNAKEMAP ) 为什么不是(( 0, 0, 325, 425 ), this, SNAKEMAP )
追答
CreateEx(
DWORD dwExStyle, 窗口扩展样式
LPCTSTR lpszClassName, 创建窗口的类名称
LPCTSTR lpszWindowName, 创建的窗口名称
DWORD dwStyle, 窗口样式
const RECT& rect, 创建窗口的坐标、高度及宽度
CWnd* pParentWnd, 父窗口的指针
UINT nID, ID号
LPVOID lpParam = NULL
);
this 是代表这个类自身的指针
你对着参数表看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询