C++ 如何使我的win32应用程序显示鼠标右键单击
这就是我目前所拥有的C++ 如何使我的win32应用程序显示鼠标右键单击,c++,winapi,C++,Winapi,这就是我目前所拥有的 case WM_PAINT: hdc = BeginPaint (hwnd, &ps); GetClientRect (hwnd, &rect); GetWindowRect(hwnd, &size); width = size.right - size.left; itoa(width, Swidth, 10);
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps);
GetClientRect (hwnd, &rect);
GetWindowRect(hwnd, &size);
width = size.right - size.left;
itoa(width, Swidth, 10);
height = size.bottom - size.top;
itoa(height, Sheight, 10);
itoa(rect.bottom, sBottom, 10);
itoa(rect.top, sTop, 10);
itoa(rect.left, sLeft, 10);
itoa(rect.right, sRight, 10);
TextOut(hdc, 0, 0, "Here is my width: ", 18);
TextOut(hdc, 125, 0, Swidth, 5);
TextOut(hdc, 175, 0, "Here is my height: ", 18);
TextOut(hdc, 300, 0, Sheight, 4);
TextOut(hdc, 0, 20, sBottom, strlen(sBottom));
TextOut(hdc, 50, 20, sTop, strlen(sTop));
TextOut(hdc, 100, 20, sRight, strlen(sRight));
TextOut(hdc, 150, 20, sLeft, strlen(sLeft));
TextOut(hdc, 0, 40, "Right Button Clicked: ", 23);
itoa(rightButtonClicked, SrightButtonClicked, 10);
TextOut(hdc, 150, 40, SrightButtonClicked, strlen(SrightButtonClicked));
if(rightButtonClicked > 20)
TextOut(hdc, 0, 60, SrightButtonClicked, strlen(SrightButtonClicked));
EndPaint (hwnd, &ps);
return 0;
case WM_LBUTTONDOWN:
return 0;
case WM_RBUTTONDOWN:
rightButtonClicked++;
return 0
现在我不确定我想要什么“我做错了,但我应该让它输出我在窗口中右键单击的次数。我为RightButtonClick设置的计数器增加,但无法正确显示。是的,这是我的家庭作业,我对这个主题做了很多研究,所以我想寻求一些帮助。在哪里声明和更新
srightbuttonchange
呢?你的窗口不知道计数器何时递增,所以可能没有更新。尝试在WM\u RBUTTONDOWN
上使窗口中所需的部分无效。简单的解决方法:在你的案例WM\u RBUTTONDOWN
()中,只需添加一个对UpdateWindow(hwnd)
的调用,它正在注册点击,但没有被告知绘制。@wiredparie你的意思是无效竖立(hwnd,0,TRUE)代码>UpdateWindow
仅强制立即更新已失效的区域。@john--也添加该区域。:)