Нарисуйте текст на экране C++

Я хочу нарисовать текст на экране над всеми окнами. Я узнал о HDC и начал работать с ним. У меня было 2 проблемы: текст мигал и был фон. Я узнал функцию:

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, как в этом вопросе: Как нарисовать текст с прозрачным фоном, используя C++/WinAPI? Но это ничего не делает (я даже не вижу текст) Я попытался использовать пример textout с сайта msdn: http://msdn.microsoft.com/en-us/library/windows/desktop/dd145133(v=vs.85).aspx Но это тоже ничего не делает.

Как я могу нарисовать текст на экране без фона вообще? Спасибо вам, ребята

0 ответов

Другие вопросы по тегам