Конференция "KOL" » OwnerDraw для ListView [Lazarus, KOL+MCK, Windows]
 
  • RGaysin © (01.09.08 15:58) [20]
    Вместо

    if (Str2Int(S)>49) then PControl(Sender).Font.FontStyle:=[fsBold]
    else PControl(Sender).Font.FontStyle:=[];


    вставил

    Font: Cardinal;
    LFont: LOGFONT;
    FillChar( LFont, SizeOf( LFont ), 0 );
    LFont.lfHeight := LV1.Font.FontHeight;
    LFont.lfFaceName:='Verdana';
    if (iCol in [1]) then LFont.lfWeight:=700
                      else LFont.lfWeight:=0;
    Font := CreateFontIndirect(LFont);
    SelectObject(DC,Font);

     
    Перестало маргать =)
  • L`Autour © (02.09.08 06:18) [21]
    Я шрифты через CreateFontIndirect создаю при инициализации формы и уничтожаю при закрытии программы. Создавать и удалять шрифт в процессе вывода - не оптимально.
  • RGaysin © (02.09.08 18:27) [22]
    Эх, точно, это я не подумал! Спасибо за подсказку)
 
Конференция "KOL" » OwnerDraw для ListView [Lazarus, KOL+MCK, Windows]
Есть новые Нет новых   [134431   +16][b:0][p:0.001]