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

Вниз

DrawText   Найти похожие ветки 

 
race1   (2004-12-22 09:08) [0]

делаю так:

procedure Tfrm.lbMeasureItem(Control: TWinControl; Index: Integer; var Height: Integer)
var
rct: RECT;
begin
SetRect(@rct, 0, 0, lb.Width, 0);
//SelectObject(lb.Canvas.Handle, lb.Font.Handle);
Height = DrawText(lb.Canvas.Handle, PChar(lb.Items[Index]),
 Length(lb.Items[Index]), @rct, DT_WORDBREAK or DT_CALCRECT or DT_CENTER or DT_EXTERNALLEADING);
end;

lb - tlistbox, в котором я рисую. т.е. хочу устанвить высоту элемента равной высоте текста, который ещё разбивается на строки. но если выбрать в lb большой шрифт, то высота элементов почему-то не меняется. хотя в DrawItem я рисую этим же кодом и всё отображается большим шрифтом. даже если раскомментировать закомментированные строки (хотя это и бессмысленно), не помогает


 
Просто Джо ©   (2004-12-22 13:02) [1]

Навскидку: попробуй использовать сначала DrawText с параметром uFormat равным DT_CALCRECT.


 
race1   (2004-12-24 17:02) [2]

странное дело. у меня это дело рисуется, потом юзер выбирает какой-то эл-т, потом всё очищается и заполняется снова. так вот, после первого заполнения всё высчитывается прально, но первое заполнение и рисование листбокса неработает

вариант с calrect не сработал


 
race1   (2004-12-28 17:13) [3]

вариантов нету?

сейчас делаю так: вобще все данные заносятся в листбокс в рантайме. я в режиме дизайнера добавляю какойлибо эл-т в листбокс, при добавлении моих эл-в предварительно очищаю список (т.е. убирается эл-т, добавленный в режиме дизайна). почему-то работает, чудеса...



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

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

Наверх




Память: 0.47 MB
Время: 0.055 c
4-1104261678
coder332
2004-12-28 22:21
2005.02.13
Манипуляции с чужим приложением


3-1105051517
JaVa73
2005-01-07 01:45
2005.02.13
не открывается libmysql.dll


1-1106934258
novice_man
2005-01-28 20:44
2005.02.13
DLL и динамическая загрузка.


1-1106828861
WhiteGuy
2005-01-27 15:27
2005.02.13
FreeDiskSpace?


1-1106730908
Aln
2005-01-26 12:15
2005.02.13
Можно ли сделать задержку, не используя таймер?