首先,打开一个项目文件后,你应该找到一个叫做类视图的悬浮窗口,
如果你没有,可以进入点击窗口上方的是“视图”菜单,然后可找到“类视图”这个选项,点击就出来了。
快捷键是 ctrl+shift+C.
第二,点击选定类视图中你想添加成员函数的类,我这里举例是View类,右击该类,选择“属性”项,
可以看到一个对话框“属性”。点击“消息”按钮,这个按钮就是就是一个闪电形状按钮和绿色按钮中间的那个按钮。
你可以找到各种系统消息,比如 WM_CHAR。之后就可以添加键盘响应的消息了。可以参考下面的图片
今天学习一个小功能,就是让单文档项目响应键盘输入。
在CxxxDoc.h中声明一个变量Text
CString Text;
在CxxxDoc.cpp中初始化
CMySdiDoc::CMySdiDoc()
{
// TODO: 在此添加一次性构造代码
Text = _T("");
}
用上面的类向导添加一个OnChar消息处理函数
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif?x-oss-process=image/resize,w_1400/format,webp)
void
CMySdiView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CMySdiDoc * pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString ts;
ts.Format(_T( " %c " ),nChar);
pDoc -> Text += ts;
CView::OnChar(nChar, nRepCnt, nFlags);
Invalidate();
}
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CMySdiDoc * pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString ts;
ts.Format(_T( " %c " ),nChar);
pDoc -> Text += ts;
CView::OnChar(nChar, nRepCnt, nFlags);
Invalidate();
}
在OnDraw函数里添加
void
CMySdiView::OnDraw(CDC
*
pDC)
{
CMySdiDoc * pDoc = GetDocument();
ASSERT_VALID(pDoc);
if ( ! pDoc)
return ;
// TODO: 在此处为本机数据添加绘制代码
pDC -> TextOut( 0 , 0 ,pDoc -> Text);
}
{
CMySdiDoc * pDoc = GetDocument();
ASSERT_VALID(pDoc);
if ( ! pDoc)
return ;
// TODO: 在此处为本机数据添加绘制代码
pDC -> TextOut( 0 , 0 ,pDoc -> Text);
}