MFC中窗口重绘问题
我创建了一个叫Test的工程,并在CTestView类添加了WM_CHAR消息响应函数,这样我在这个消息响应函数里就可以编写代码,实现在客户区敲键盘输出字符,但是当我拉大...
我创建了一个叫Test的工程,并在CTestView类添加了WM_CHAR消息响应函数,这样我在这个消息响应函数里就可以编写代码,实现在客户区敲键盘输出字符,但是当我拉大窗口时,这些字符就没了,我知道是发生了窗口重绘,需要在OnDraw函数中将字符再次输出才行,但是OnDraw中我不知道该怎么编写代码,跟WM_CHAR消息响应函数中的代码一模一样么?我试过了不行,哪位朋友能帮我解决这个问题?
展开
3个回答
展开全部
ondraw只重绘view部分,就是一开始生成的白的部分,俗称客户区,工作区。工具栏菜单栏属于框架类。ondraw绘制的部分不但显示在屏幕上而且可以输出到打印机等其他输出设备上,onpaint是处理窗口在标准输出(显示器)重绘的。因此光标的处理不应该在ondraw中(除显示器外其他输出设备是不应显示光标的)。
别着急,慢慢来,等你对mfc基本结构有了了解再翻回来看,慢慢你会明白的。
别着急,慢慢来,等你对mfc基本结构有了了解再翻回来看,慢慢你会明白的。
追问
请不要再复制粘贴了,谢谢!这个回答我在别的地方看到很多次了~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在ondraw()函数调用OnChar()就可以了
更多追问追答
追问
你的回答让我眼前一亮!!但是OnChar()中的参数在它自己响应的时候不需要我们设置,但是从OnDraw()函数中调用的话就得设置参数了,我没弄出来,求教~~
追答
增加成员变量保存之前你调用onchar()的参数(可以用链表的方式),在ondraw()函数里进行循环,把之前保存的参数传给onchar()就好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询