Форум: "Основная";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
ВнизКак в OwnerDraw режиме ListView задать высоту строк? Найти похожие ветки
← →
MegaVolt © (2007-01-18 12:42) [0]Например у меня шрифт большой нужно сделать строчки повыше как это указать?
Как указать настоящий размер строки в ячейке чтобы корректно работал двойной клик на заголовке колонке который делает ширину колонки равной максимальной ширине элемента?
← →
MegaVolt © (2007-01-19 15:30) [1]Если после изменения шрифта добавить следующую строчку то заголовок ListView становится правильной ширины. Как бы это поправить ещё размеры и самих строчек?
SendMessage(ListView1.Handle,WM_SETFONT,ListView1.Font.Handle,0);
← →
MegaVolt © (2007-01-19 15:58) [2]Нифига эта строчка не делает :( Как оказалось это же сообщение посылается и без моей помощи.
В XP при изменении шрифта размер заголовка не изменяется :( А в 98 всё пашет на ура. Что за глюки?
← →
MegaVolt © (2007-01-19 19:10) [3]Есть версия что это баг конкретной виндяшной схемы. Кто может проверить изменение размера заголовка ListView при установке больших шрифтов (размер 36 и больше) на темах отличных от стандартной WinXP?
← →
MegaVolt © (2007-01-24 16:15) [4]Ес.... Я гений Нашел Уря-я-я-я.
Короче эта проблема является багом мелкософта упоминание об этом есть тут:
http://forums.microsoft.com/MSDN/ShowPost....20&SiteID=1
Но я хитрее и нашел решение
Вот код:
procedure TForm1.Button1Click(Sender: TObject);
var
hHeader:THandle;
begin
if FontDialog1.Execute
then
begin
// Добываем хендл заголовка.
hHeader := SendMessage(ListView1.Handle, LVM_GETHEADER, 0, 0);
// !!! Отключаем стль для него
SetWindowTheme(hHeader,"","");
// Меняем шрифт
ListView1.Font:=FontDialog1.Font;
// Восстанавливаем тему :) Но при этом размер остаётся прежним!!!
SetWindowTheme(hHeader, nil, nil);
end;
end;
Пользуйтесь господа если кому надо
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c