Конференция "KOL" » Ошибка в TBitBtn при включенном GRAPHCTL_XPSTYLES
 
  • Виктор007 (21.10.07 00:05) [0]
    У меня сдвигается текст с глифом в право на середину кнопки, подскажите как исправить?
  • Виктор007 (21.10.07 12:17) [1]
    Пока просто поправил под свои нужды visual_xp_styles.inc:
    Заменил в WndButtonXPDraw

    if Sender.fglyphLayout in [ glyphLeft ] then
       begin
        RIcon := MakeRect((SenderWidth div 2) - (W + (W div 4)),
                          (SenderHeight div 2) - (H div 2),
                           W, SenderHeight);
        RText.Left := (SenderWidth div 2) + (W div 4);

    На это:

    if Sender.fglyphLayout in [ glyphLeft ] then
       begin
        RIcon := MakeRect((SenderWidth div 2) - (W + (W div 4)),
                          (SenderHeight div 2) - (H div 2),
                           W, SenderHeight);
        RIcon.Left := 5;
        RText.Left := 24;
  • Виктор007 (21.10.07 12:33) [2]
    Еще подправил:
    var
    TWidth : integer;
    ...
    if Sender.fglyphLayout in [ glyphLeft ] then
       begin
        // Получение ширины текста
        Sender.Canvas.Font.Assign ((Sender).Font);
        TWidth := Sender.Canvas.TextWidth((Sender).Caption);

        RIcon := MakeRect(((SenderWidth - TWidth) div 2) - W,
                          (SenderHeight div 2) - (H div 2),
                           W, SenderHeight);
        RText.Left := ((SenderWidth - TWidth) div 2) + (W div 4);
        HPos := DT_LEFT;
        VPos := DT_VCENTER;
       end;

 
Конференция "KOL" » Ошибка в TBitBtn при включенном GRAPHCTL_XPSTYLES
Есть новые Нет новых   [134431   +10][b:0][p:0.001]