void CMyView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
// TODO: Add your message handler code here and/or call default
switch(nChar)
  {
case VK_ESCAPE:
  key=1;
break;
          }
}
这个函数里有key我定义成全局的,请问能不能在ondraw里得到由这个函数处理后的key值;
能不能在ondraw里调用这个函数啊?如果可以的话,要怎么调?

解决方案 »

  1.   

    你可以采取SendMessage的方式,消息是WM_KEYDOWN或者干脆重载PreTranslateMessage
      

  2.   

    AfxGetMainWnd ()->SendMessage ()这个函数里一共有三个参数,我想问一下,第二个和第三个参数是什么?
      

  3.   

    如果我想在ondraw函数执行到一半时检查有没有按键消息,要怎么办?
    这个SendMessage ( )要怎么向ondraw里传送消息啊?
      

  4.   

    第二个参数是指你要发的键值,第三个是当发这个消息的时候有没有一些
    附加的键被同时按下,比如SHIFT这一些键,。
      

  5.   

    void CMyView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
    {
    // TODO: Add your message handler code here and/or call default
    switch(nChar)
      {
    case VK_ESCAPE:
      key=1;
    // if you want to refresh ,please insert this
                      Invalidate();
    break;
              }
    }OnDraw()
    {
        CPaintDC dc(this);
       if( key == 1)
        { 
            dc.DrawText(strText,lprectRect,UINTflag);
         }
    }