vc菜单 命令及更新 响应

1.他首先在View类中定义了三个全局变量,颜色类型

 

const COLORREF BLACK=RGB(255,0,0);

 

2. 然后确定了要重画的位置,(CRect类。x y;)

GetClientRectCRect  ----x , y

 

3. 在菜单的              命令消息中;将要设置的颜色传递进去;

 

COnly1Doc * pDoc = GetDocument();

pDoc->SetColor(BLACK);

pDoc->UpdateAllViews(NULL);

                                   更新消息中;负责第二次点击的标记的处理;

COnly1Doc * pDoc = GetDocument();

pCmdUI->Enable(pDoc->GetColor != BLACK);//设置菜单不可用

 

4. 在文档类中的处理

COLORREF m_color;

COLORREF COnly1Doc::GetColor(){return m_color;}

void COnly1Doc::SetColor(COLORREF color){m_color = color;}

 

 

P.S 

1.参考来至MFC库,文档被修改后调用此函数---CDocument::UpdateAllViews

void UpdateAllViews(

  CView* pSender,

  LPARAM lHint = 0L,

  CObject* pHint = NULL

);

1参数:

  pSender

  指向修改文档的视图,如果所有视图被更新,则设为NULL.

  lHint

  包含文档被修改的信息。

  pHint

  指向一个存储修改信息的的对象。

2、例子

void CExampleDoc::OnUpdateAllViews()
{
  
 
UpdateAllViews(NULL);
}

 

你可能感兴趣的:(MFC,文档,null,mfc,存储)