Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: CL | DM;

Вниз

Кнопка с ... в Caption   Найти похожие ветки 

 
DVM ©   (2003-01-21 23:42) [0]

Не подскажет ли кто, как сделать так, чтобы длинные надписи на кнопках обрубались и заканчивались многоточием, например:
Мастера DELPI...
Конечно есть кнопки сторонних разработчиков (RXSpeedButton), но мне надо свою. В их исходниках (rx) я что-то этого не могу найти.


 
DVM ©   (2003-01-22 10:51) [1]

Неужели никто не знает?
Я подозреваю, что надо использовать что то вроде, но не знаю где и как.
DrawTextEx(Canvas.handle, Caption, StrLen(Caption), Rect,
DT_END_ELLIPSIS, nil);


 
Chubais ©   (2003-01-22 11:06) [2]

при прорисовке смотри сколько пикселей занимает текст, и сколько пикселей ширина кнопки, делай выводы


 
Игорь Шевченко ©   (2003-01-22 11:12) [3]

var
ARect : TRect;
tmp : String;
begin
ARect := Button1.ClientRect;
InflateRect(ARect, -2, 0);
tmp := Button1.Caption;
DrawText (Canvas_совместимый_с_кнопкой.Handle, PChar(tmp), -1, ARect, DT_END_ELLIPSIS OR DT_MODIFY_STRING OR DT_SINGLELINE);
Setlength(tmp, StrLen(PChar(tmp));
Button1.Caption := tmp;
end;

Примерно так, набросал на скорую руку...


 
DVM ©   (2003-01-22 11:17) [4]


> Canvas_совместимый_с_кнопкой

Как получить? У кнопки нет Canvas.


 
Игорь Шевченко ©   (2003-01-22 11:21) [5]

Вместо canvas можно использовать
var
DC : HDC;
...
DC := GetDC (Button1.Handle);
try
.....все, что надо
finally
ReleaseDC(Button1.Handle, DC);
end;

Или TControlCanvas...


 
Kair ©   (2003-01-22 11:22) [6]

if Length(Button1.Caption)>x then ...


 
DVM ©   (2003-01-22 11:27) [7]


> Игорь Шевченко

Спасибо!


 
REA ©   (2003-01-22 12:37) [8]

Там еще вроде процедура была уже борландовская, которая обрезала по какому-то критерию, но с моим склерозом не вспомнить даже в каком юните. То ли с файлами связано то ли с графикой.


 
Smithson ©   (2003-01-22 12:50) [9]

С файлами - с именами. Многоточие в середину пихала... Как называлась, тоже не помню.


 
Игорь Шевченко ©   (2003-01-22 12:53) [10]

Smithson © (22.01.03 12:50)

Наверное тоже DrawText с флажком DT_PATH_ELLIPSIS :-)))



Страницы: 1 вся ветка

Текущий архив: 2003.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
1-96719
Robb
2003-01-22 11:24
2003.01.30
Как реализовать что-то типа компонента Dialogs


14-96983
polizei
2003-01-13 10:19
2003.01.30
Вопрос


3-96641
CPPBuilderDev
2003-01-14 14:50
2003.01.30
Господа, подскажите с синтаксисом Фильтра, плиз?


1-96673
Temp
2003-01-21 16:57
2003.01.30
StringGrid


3-96539
comwwad
2003-01-15 08:31
2003.01.30
Взаимодействие Д и Е