Здравствуйте 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 }.