АЛьФ писал(а) 25. Апреля 2019 :: 14:00:Даже не знаю. Это место давно не трогалось.
2.0.5.131 13.04.2018 - норм
2.0.5.133 11.05.2018 - сломалось
Видимо из-за этого
case methCreateFont:
...
lFont.lfHeight = MulDiv(ppValue[1]->GetNumeric(), GetDeviceCaps(pMainWnd->GetDC()->GetSafeHdc(), LOGPIXELSY), 72);
А зачем оно так? оО
В lFont уже размер был заполнен, судя по коду выше.
ИМХО, должно быть как то так (отрицательные значения тут могут быть, т.к. НастройкиПользователя выдают -11 при 8 в Сервис/Параметры/Интерфейс, а вот нулевые, в нашей ситуации, должны нарушать правила msdn - 12 шрифт по-умолчанию, нам такое не надо).
int lfHeight = ppValue[1]->GetNumeric();
if (lfHeight!=0)
lFont.lfHeight = lfHeight;
Спасибо за работоспособные исходники!
Иначе то и не найдешь где собака зарыта...
P.S. Ну а что плюс, а что минус - задание для самостоятельного изучения, в als весь msdn не засунешь