Главная страница
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.017 c
4-97078
valmont
2002-12-15 15:51
2003.01.30
как получиь handle окна, кнопки и т.д.


1-96645
Сатир
2003-01-19 20:25
2003.01.30
Как рисовать по картинке?


6-96901
Whippi
2002-12-03 16:53
2003.01.30
Как получить информацию с web страницы?


4-97093
Nic2
2002-12-13 19:42
2003.01.30
Не квадратная кнопка


6-96918
romychk
2002-12-05 12:58
2003.01.30
Socket - все в одном