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

Вниз

How to make TKOlLabel really autosized ?   Найти похожие ветки 

 
Boguslaw   (2005-01-23 18:24) [0]

TKOLLabel behaviour is different then oridanary VCL Label with AutoSize.If I put some multiline string (with #13#10) I wish to have TKOLabel properly sized to show all text with proper word breaks.Instead I have only first line visible. Please,help me fix this, I must use this autosized label to create replacement for balloon window (when not available IE6). The problem is that this label is not autosized and I can"t fix form size based on this label size. In VCL it"s working good
:-(


 
ECM ©   (2005-01-23 20:52) [1]

Я делал это так (без переделки КОЛ). Можно и встроить, но руки пока не доходят попробовать...:(
Принцип такой - ширину считаем уже установленной и вычисляем высоту многострочного текста и меняем Height у Label

procedure TMainForm.Label2Paint(Sender: PControl; DC: HDC);
var
 OldFnt: HFONT;
 R: TRect;
 H: Integer;
begin
 OldFnt := SelectObject(DC,Sender.Font.Handle);
 SetBkMode(DC,TRANSPARENT);
 R := Sender.ClientRect;
 SetTextColor(DC,Sender.Font.Color);
 H := DrawText(DC,@Sender.Caption[1],Length(Sender.Caption),R,DT_CENTER or DT_WORDBREAK or DT_CALCRECT);
 if H <> (Sender.Height+3) then Sender.Height := H+3; //
 DrawText(DC,@Sender.Caption[1],Length(Sender.Caption),R,DT_CENTER or DT_WORDBREAK);
 SelectObject(DC,OldFnt);
end;

Возможно текст не точен (я повыбрасывал лишнее из своего
кода) - но у меня работает... Во всяком случае Label
с caTop при изменении размеров панели, на которую он помещен
отображается нормально. Если надпись не влазит в одну строку
она "заворачивается" в несколько :)



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

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

Наверх




Память: 0.46 MB
Время: 0.04 c
14-1123602986
maxim_mm
2005-08-09 19:56
2005.09.04
управление удалёнными компами


14-1123630646
IncRed
2005-08-10 03:37
2005.09.04
Как зарегистрироваться на RSDN.Ru


3-1121855749
Artyom_
2005-07-20 14:35
2005.09.04
соеденение с БД котрая лежит в инете


14-1123924715
PZ
2005-08-13 13:18
2005.09.04
Что бы это значило ?


1-1123703655
Galiaf
2005-08-10 23:54
2005.09.04
Двойной клик по item у в компоненте TListView