Главная страница
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.082 c
1-1132817271
Separator
2005-11-24 10:27
2005.12.18
Двумерный массив


3-1130924059
Id
2005-11-02 12:34
2005.12.18
Получение пароля


9-1121867498
Trof
2005-07-20 17:51
2005.12.18
Оружие и smd в glscene


14-1132737161
TUser
2005-11-23 12:12
2005.12.18
Тюнинг компьютера


14-1132584437
ychenick
2005-11-21 17:47
2005.12.18
Огромный WinAPI справочник?