4.1 步骤3加入菜单消息处理函数 Class name Objects IDs Messages CMenuTest view ID DRAW REct COMmaND 2. CMenuTest view ID DRAW CIRCLE COMMAND void CMenu TestView: OnDrawRecto void CMenu TestView On Circle CClientDC dc(this CClientDc dc(this) dc Rectangle (50, 50, 200, 150) dc Ellipse(250,50,400,150)
步骤3 加入菜单消息处理函数 Class Name Objects IDs Messages 1. CMenuTestView ID_DRAW_RECT COMMAND 2. CMenuTestView ID_DRAW_ CIRCLE COMMAND 4.1 void CMenuTestView::OnDrawRect() { CClientDC dc(this); dc.Rectangle(50,50,200,150); } void CMenuTestView::OnDrawCircle() { CClientDC dc(this); dc.Ellipse(250,50,400,150); }
4.1 步骤4菜单命令的更新控袆 1.在画图菜单中再添加两个菜单项 Caption Prompt 允许画矩形 ID DRAW ENABLE 禁止画矩形Ⅰ D DRAW DISABLE 2.在视类中添加一个记录当前“矩形”菜单项状态的变 量 BOOL m Enable 3.在构造函数中初始化数据成员 m enable m Enable =TRUE:
步骤4 菜单命令的更新控制 1. 在画图 菜单中再添加两个菜单项 Caption ID Prompt 允许画矩形 ID_DRAW_ENABLE -------- 禁止画矩形 ID_DRAW_DISABLE -------- 2. 在视类中添加一个记录当前“矩形”菜单项状态的变 量 BOOL m_Enable; 3. 在构造函数中初始化数据成员m_Enable m_ Enable =TRUE; 4.1
4.1 步骤4菜单命令的更新控制 4.添加菜单响应函数 Class Name Objects IDs Messages CMenu Test view ID DRAW ENABLE COMMAND 2. CMenu Test View ID DRAW DISABLE COMMAND 3. CMenu Test view ID DRAW Rect UPDATE COMMAND UI 4. CMenu Test view D DRAW ENABLE UPDATE COMMAND UI 5. CMenu Test view ID DRAW DISABLE UPDATE COMMAND UI void CMenu TestView OnUpdate DrawRect(CCmdUI* pcmdUl) pCmdUl->Enable(m Enable
步骤4 菜单命令的更新控制 4. 添加 菜单响应函数 Class Name Objects IDs Messages 1. CMenuTestView ID_DRAW_ENABLE COMMAND 2. CMenuTestView ID_DRAW_ DISABLE COMMAND 3. CMenuTestView ID_DRAW_RECT UPDATE_COMMAND_UI 4. CMenuTestView ID_DRAW_ENABLE UPDATE_COMMAND_UI 5. CMenuTestView ID_DRAW_ DISABLE UPDATE_COMMAND_UI 4.1 void CMenuTestView::OnUpdateDrawRect(CCmdUI* pCmdUI) { pCmdUI->Enable(m_Enable); }
步骤4菜单命令的更新控制 4.1 void CMenu TestView On DrawDisableo void CMenu Test View: On DrawEnableo m enable false m Enable TRUE void CMenu TestView OnUpdate DrawEnable(CCmdUI* pCmdUI) pCmdUl->SetCheck(m Enable 1: 0) void CMenu TestView OnUpdate Draw Disable(CCmdUI* pCmdUl) pCmdUl->SetCheck(m Enable ?0: 1)
步骤4 菜单命令的更新控制 4.1 void CMenuTestView::OnDrawDisable() { m_Enable = FALSE; } void CMenuTestView::OnDrawEnable() { m_Enable = TRUE; } void CMenuTestView::OnUpdateDrawEnable(CCmdUI* pCmdUI) { pCmdUI->SetCheck(m_Enable ? 1:0); } void CMenuTestView::OnUpdateDrawDisable(CCmdUI* pCmdUI) { pCmdUI->SetCheck(m_Enable ? 0:1); }
4.1 基本知识 1. pCmdUl->Enable(true false) 2. pCmdUI->Set Check( 10 3.使用 COMMAND消息响应菜单项的选 择事件 4. UPDATE COMMAND U消息控制菜 使用单项状态
基本知识 1. pCmdUI->Enable(true | false); 2. pCmdUI->SetCheck( 1| 0); 3. 使用COMMAND消息响应菜单项的选 择事件 4. UPDATE_COMMAND_UI消息控制菜 使用单项状态 4.1