![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TKOLmdvXLGrid
Elec3C © (2008-06-08 23:33:00)Пару вопрос по String : TKOLmdvXLGrid:
1. Как убрать Scroll Bar'ы (в unit'e KOLmdvXLGrid читал, что есть такой ScrollBars - Вкл/Выкл полосы прокрутки, но в самом TKOLmdvXLGrid и близко нету ничего похожего)?
2. Возможно в реалтайме убрать фокус с StringGrid'a (чтобы внутри ячейки не отрисовывался квадрат со штриховыми линиями)?
mdw (2008-06-11 16:43:00) [1]
> нужно убирать полность if (PKolXLGridData(Grid.FCustomObj).
> FGridStyle = gsStandard) and AFocus then ACanvas.DrawFocusRect(ARect);
> Если же оставить ACanvas.DrawFocusRect(ARect), то фокус
> будет отрисовываться во всех ячейках!!!
А я что написал? Окошко раздвиньте. Или монитор 640х480? :)
Elec3C (2008-06-10 18:04:00) [2]Сорри, глюкануло!
Для "не отрисовки"
> внутри ячейки не отрисовывался квадрат со штриховыми линиями)
нужно убирать полность
if (PKolXLGridData(Grid.FCustomObj).FGridStyle = gsStandard) and AFocus then ACanvas.DrawFocusRect(ARect);
Если же оставить ACanvas.DrawFocusRect(ARect), то фокус будет отрисовываться во всех ячейках!!!
Elec3C (2008-06-10 18:02:00) [3]Кстати, для "не отрисовки"
Elec3C (2008-06-10 17:08:00) [4]Спасибо!
> Можете добавить свойство
Сейчас занят, может, чуть позже добавлю и пришлю.
mdw (2008-06-10 16:04:00) [5]
> 2. Возможно в реалтайме убрать фокус с StringGrid'a (чтобы
> внутри ячейки не отрисовывался квадрат со штриховыми линиями)?
Примерно так:
procedure TmdvXLCell.Draw(ARect: TRect; ACol, ARow: Integer; ACanvas: PCanvas; ASelect, AFocus: Boolean);
....
///if (PKolXLGridData(Grid.FCustomObj).FGridStyle = gsStandard) and AFocus then ACanvas.DrawFocusRect(ARect);
....
Можете добавить свойство (например IsShowFocus), если есть желание. Тогда присылайте добавим.
mdw (2008-06-10 16:01:00) [6]
> 1. Как убрать Scroll Bar'ы (в unit'e KOLmdvXLGrid читал,
> что есть такой ScrollBars - Вкл/Выкл полосы прокрутки,
> но в самом TKOLmdvXLGrid и близко нету ничего похожего)?
Нда, и правда. Убрать можно. Примерно так:
procedure TmdvXLGrid.UpdateScrollBars;
var ScrollInfo: TScrollInfo;
begin
EndEdit(True, True);
if not HandleAllocated then Exit;
ScrollInfo.nMin:= 0;
ScrollInfo.nMax:= 0;//PKolXLGridData(FCustomObj).FRowCount-1;
ScrollInfo.nPos:= PKolXLGridData(FCustomObj).FTopRow;
ScrollInfo.nPage:= VisibleRowCount;
ScrollInfo.fMask:= SIF_ALL;
ScrollInfo.cbSize:= SizeOf(ScrollInfo);
SetScrollInfo(Handle, SB_VERT, ScrollInfo, True);
ScrollInfo.nMin:= 0;
ScrollInfo.nMax:= 0;//PKolXLGridData(FCustomObj).FColCount-1;
ScrollInfo.nPos:= PKolXLGridData(FCustomObj).FLeftCol;
ScrollInfo.nPage:= VisibleColCount;
ScrollInfo.fMask:= SIF_ALL;
ScrollInfo.cbSize:= SizeOf(ScrollInfo);
SetScrollInfo(Handle, SB_HORZ, ScrollInfo, True);
end;
Можете добавить свойство (например IsHorzScrollBar, IsVertScrollBar), если есть желание. Тогда присылайте добавим.
Elec3C (2008-06-10 04:19:00) [7]^