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

Вниз

ListView без полос прокрутки   Найти похожие ветки 

 
gdaujk ©   (2005-11-16 23:29) [0]

Доброго времени суток. Задача, стоящая передо мной, ясна из темы. Делаю так. На форме есть ListView1 (vsReport) c двумя колонками (можно и не с 2-мя) и кнопка Button1. Что бы избавиться от полос прокрутки делаю так:

procedure TForm1.FormCreate(Sender: TObject);
begin
 SetWindowLong(ListView1.Handle, GWL_STYLE,
 GetWindowLong(ListView1.Handle, GWL_STYLE) or LVS_NOSCROLL);
end;


При нажатии на кнопку далаю следующее:

procedure TForm1.Button1Click(Sender: TObject);
begin
 ListView1.Width := ListView1.Width + 10;
end;


Нажимаю на кнопку Button1. ListView расширяется, а его заголовок (ColumnHeaders) остаётся прежней ширины и в дальнейшем ведёт себя очень плохо, особенно при изменении ширины колонок.

Вопрос: Как сделать ListView без полос прокрутки и вышеописанной проблемы с его заголовком?

PS: пробовал то же самое проделать на чистом WinAPI, результат тот же…


 
gdaujk ©   (2005-11-17 12:52) [1]

Использую XP, D7...


 
begin...end ©   (2005-11-17 13:02) [2]

> gdaujk ©   (17.11.05 12:52) [1]

LVS_NOSCROLL
Scrolling is disabled. All items must be within the client area. This style is not compatible with the LVS_LIST or LVS_REPORT styles. See Knowledge Base Article Q137520 for further discussion.

Q137520: http://support.microsoft.com/default.aspx?scid=kb;en-us;137520

?


 
gdaujk ©   (2005-11-17 14:29) [3]

begin...end ©   (17.11.05 13:02) [2]

Спасибо ограмное. Всё робит, правде не совсем понимаю как :-).

procedure TMyListView.PositionHeader;
var
 Header: HWND;
 dwStyle: DWORD;
 Rect: TRect;
 hdLayout: THDLayout;
 WPos: TWindowPos;
begin
 Header := GetWindow(Handle, GW_CHILD);
 //dwStyle := GetWindowLong(hwndListView, GWL_STYLE);
 //SetWindowLong(Handle, GWL_STYLE, dwStyle);
 Windows.GetClientRect(Handle, Rect);
 hdLayout.Rect := @Rect;
 hdLayout.WindowPos := @WPos;
 Header_Layout(Header, @hdLayout);
 SetWindowPos(Header,
              WPos.hwndInsertAfter,
              WPos.x,
              WPos.y,
              WPos.cx,
              WPos.cy,
              WPos.flags or SWP_SHOWWINDOW);
 ListView_EnsureVisible(Handle, 0, FALSE);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
14-1132670460
passlight
2005-11-22 17:41
2005.12.18
Нашли стрелочника...


2-1133310198
Диалог
2005-11-30 03:23
2005.12.18
Какие параметры надо выставить в TOpenDialog, чтобы выбрать неско


14-1132824008
Сержо
2005-11-24 12:20
2005.12.18
JavaScript: Перенос опций из одного select а в другой


14-1132545057
atruhin
2005-11-21 06:50
2005.12.18
Организация ситемы электронного документооборота


3-1130820858
Карелин Артем
2005-11-01 07:54
2005.12.18
Сколько _Recordset возвращает запрос в ADO?