use*_*594 -1 api winapi paint draw visual-c++
我正在尝试制作一个程序来检测按键并在窗口上绘制相应的字母.一切正常,但它只绘制一次......当我按下另一个键时没有任何反应.
case WM_KEYDOWN:
{
if (GetKeyState(0x41))
{
pCtrl->Paint (65);
}
Run Code Online (Sandbox Code Playgroud)
Paint函数调用Char函数,该函数使用::Textout
All 绘制一个字符.我无法理解为什么它不会多次绘制
没有Paint的代码很难回答,但我认为你正在接近这个问题.Win32应用程序只应在处理WM_PAINT消息时修改其显示区域.当收到WM_KEYDOWN消息时,它应该使用InvalidateRect()使显示无效并让应用程序重绘自己.为了消除不可避免的闪烁,WM_KEYDOWN处理程序可以记录更改的类型,WM_PAINT处理程序只能更新显示该字符的显示.
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |