![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скрыть у DBGrid'а ScrollBar'ы навсегда? [D7, WinXP]
Rentgen © (2005-08-09 07:34:00)Здравствуйте.
Как скрыть у DBGrid'а ScrollBar'ы навсегда?
Делаю так:
ShowScrollBar(DBGrid1.Handle, SB_VERT, False);
Они исчезают, но до первого клика.
begin...end (2005-08-09 09:06:00) [1]> Rentgen © (09.08.05 08:59) [5]
> Если чесно, то я не умею этого делать.
type
TMyDBGrid = class(TDBGrid)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;
procedure TMyDBGrid.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style and not (WS_HSCROLL or WS_VSCROLL)
end
Ну и потом динамически создавать экземпляры этого класса или зарегистрировать его в палитре.
P.S. Не проверял.
Rentgen (2005-08-09 08:59:00) [2]//MBo © (09.08.05 08:49) [3]
//делай это каждый раз по какому-либо событию DataSource, //приводящему к перерисовке грида
Так и делаю, но вы представляете как "красиво" то появляются, то исчезают полосочки. :(
//Возможно, поможет создание наследника, в перекрытом CreateParams //которого нужно сбросить стили WS_VSCROLL и WS_HSCROLL.
Если чесно, то я не умею этого делать. Буду копать в эту сторону.
begin...end (2005-08-09 08:51:00) [3]Возможно, поможет создание наследника, в перекрытом CreateParams которого нужно сбросить стили WS_VSCROLL и WS_HSCROLL.
MBo (2005-08-09 08:49:00) [4]делай это каждый раз по какому-либо событию DataSource, приводящему к перерисовке грида
Rentgen (2005-08-09 08:24:00) [5]Интересно, что этот вопрос достаточно актуален на RSDN. Неужели Бил Гейтс перемудрил?
Rentgen (2005-08-09 08:19:00) [6]Может можно как то схитрить, например сделать ширину Скрола равным 0?
Только как?