Я хочу нарисовать текст на экране над всеми окнами.
Я узнал о 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
Но это тоже ничего не делает.
Как я могу нарисовать текст на экране без фона вообще?
Спасибо вам, ребята
Задача ещё не решена.