我有點難以理解,如何在其他地方繪製之後移除繪製的橢圓。我需要一個圈子來隨時關注我的鼠標,這就是程序應該做的所有事情。我得到鼠標位置並畫出我的圈子,但我怎樣才能刪除最後一個?如何刷新/重畫屏幕(不是程序窗口)
#include <Windows.h>
#include <iostream>
void drawRect(int a1, int a2){
HDC screenDC = ::GetDC(0);
//Draw circle at mouse position
::Ellipse(screenDC, a1, a2+5, a1+9, a2+14);
::ReleaseDC(0, screenDC);
//::InvalidateRect(0, NULL, TRUE); //<- I tried that but then everything flickers
//Also, the refresh rate is not fast enough... still some circles left
}
int main(void)
{
int a1;
int a2;
bool exit=false;
while (exit!=true)
{
POINT cursorPos;
GetCursorPos(&cursorPos);
float x = 0;
x = cursorPos.x;
float y = 0;
y = cursorPos.y;
a1=(int)cursorPos.x;
a2=(int)cursorPos.y;
drawRect(a1, a2);
}
}
嗯,我讀過關於此之前,但我不完全明白。正如我所說的,我第一次使用這個工具,而且我更像是一個系統管理員而不是程序員。你知道我可以看一些例子嗎? – mohrphium
會嘗試,但這需要一些時間來思考。第一個問題是:你想要簡單的WinAPI或MFC的提示嗎? – Forgottn
無論哪種方法更容易實現,因爲我對其中任何一方都沒有經驗。 – mohrphium