Re: текст в XOR режиме
От: Аноним  
Дата: 18.09.03 11:44
Оценка:
Здравствуйте, Gi, Вы писали:

Gi>Привет всем,

Gi>как заставить винду выводить текст в режиме R2_XORPEN?

Gi>вариант ниже работает под W2000, но не работает под W98


Gi>
Gi>BeginPath(hdc);
Gi>::TextOut(hdc, x, y, str, strlen(str));
Gi>EndPath(hdc);
Gi>FillPath(hdc);
Gi>


Вот это должно работать. Дело в том, что по умолчанию в Windows установлен растровый фонт, а не векторный. После выбора векторного фонта все работает... Хочу отметить, что после вызова одной из функций StrokePath, FillPath, StrokeAndFillPath — Path уничтожается.

PAINTSTRUCT ps;
HDC hdc;
HBRUSH hBrushOld;
HBRUSH hBrushBlack = CreateSolidBrush(RGB(255,0,0));
hdc = BeginPaint(hwnd, &ps);

HFONT f = CreateFont(80, 0,0,0,900, 0,0,0, 0, 0, 0, 0, 0, "Arial");
HFONT fo = (HFONT)SelectObject(hdc, f);

SetBkMode(hdc,TRANSPARENT);

BeginPath(hdc);
TextOut(hdc,10,10, "Hello!", 6);
EndPath(hdc);

SelectObject(hdc, fo);


hBrushOld =(HBRUSH) SelectObject(hdc, hBrushBlack);
StrokeAndFillPath(hdc);
EndPaint(hwnd, &ps);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.