在屏幕C ++上绘制文字

时间:2014-10-30 20:10:52

标签: c++ text draw hdc

我想在所有窗口上方的屏幕上绘制文字。 我发现了HDC并开始使用它。我有两个问题:文字闪烁,有背景。我发现了这个功能:

SetBkMode(hdc, TRANSPARENT);

但所有这一切都取消了闪烁。我还有背景。我现在的最终代码是:

    RECT rect = { 20, 20, 200, 200 };
    SetTextColor(hdc,RGB(255,0,0));
    SetBkMode(hdc, TRANSPARENT);
    SetBkColor(hdc,RGBA(0,255,0,0));
    DrawText(hdc, L"My text",-1,&rect,DT_LEFT);

我把这段代码放入while(true)语句并睡眠1毫秒。 在我得到hdc init之前:

HDC hdc = GetDC(0);

所以在这一点上我得到了不闪烁的文字,但有背景(不透明)。 背景是半透明的,所以我可以看到它下面的东西,但它没有更新。当我在它下面放一个新窗口时,我可以看到旧窗口的“背景”。

我尝试在这个问题中使用wndproc: How to draw text with transparent background using c++/WinAPI? 但它什么都没做(我甚至看不到文字) 我尝试使用msdn网站的textout示例: http://msdn.microsoft.com/en-us/library/windows/desktop/dd145133(v=vs.85).aspx 但它也没有做任何事情。

如何在没有背景的情况下在屏幕上绘制文字? 谢谢你们

0 个答案:

没有答案