Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
2-1133258980
Malamba
2005-11-29 13:09
2005.12.18
трансформация строки в число ...


14-1132816415
ANB
2005-11-24 10:13
2005.12.18
Что значит опыт для тестировщика ?


14-1132761794
Solodow
2005-11-23 19:03
2005.12.18
Delphi 2 C#


3-1128086133
Ling
2005-09-30 17:15
2005.12.18
Сжать файлы и сохранить в BLOB


4-1129470232
Svin
2005-10-16 17:43
2005.12.18
ReadFile




   Наверх