Re: Посоветуйте, как создать CPen нужного стиля.
От: Alex Fedotov США  
Дата: 27.03.02 00:33
Оценка:
Здравствуйте Pogodinn, Вы писали:

P>Пишу следующее:

P>
P> DWORD pdwStyle[2] = {1, 0};
P> LOGBRUSH lBr;
P> lBr.lbColor = m_clrPen;
P> lBr.lbStyle = BS_SOLID;
P> BOOL bSucc = m_pPen->CreatePen( PS_COSMETIC|PS_USERSTYLE, 1, &lBr, 2, pdwStyle );
P>
P>Не работает, bSucc = 0 , т.е. не создается даже
P>В общем, я разные сочетания стиля и полей этой LOGBRUSH пробовал, но результат один.
P>Разьясните, pls, что не так.

Во-первых, PS_USERSTYLE поддерживается только для NT/2000/XP, так что если у тебя 9x, то работать просто не будет. Если это NT, то надо вызвать GetLastError() и посмотреть в чем дело (ставлю на 87).

Во-вторых, в MSDN написано по поводу заполнения массива:

The first value specifies the length of the first dash in a user-defined style, the second value specifies the length of the first space, and so on.

Откуда следует, что для рисования точками, стиль должен быть { 1, 1 }.
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.