![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка в TBitBtn при включенном GRAPHCTL_XPSTYLES
Виктор007 © (2007-10-21 00:05:00)У меня сдвигается текст с глифом в право на середину кнопки, подскажите как исправить?
Виктор007 (2007-10-21 12:33:00) [1]Еще подправил:
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;
Виктор007 (2007-10-21 12:17:00) [2]Пока просто поправил под свои нужды 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;