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

Вниз

TKOLmdvXLGrid   Найти похожие ветки 

 
Elec3C ©   (2008-06-08 23:33) [0]

Пару вопрос по String : TKOLmdvXLGrid:

1. Как убрать Scroll Bar"ы (в unit"e KOLmdvXLGrid читал, что есть такой ScrollBars - Вкл/Выкл полосы прокрутки, но в самом TKOLmdvXLGrid и близко нету ничего похожего)?

2. Возможно в реалтайме убрать фокус с StringGrid"a (чтобы внутри ячейки не отрисовывался квадрат со штриховыми линиями)?


 
Elec3C ©   (2008-06-10 04:19) [1]

^


 
mdw ©   (2008-06-10 16:01) [2]


> 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), если есть желание. Тогда присылайте добавим.


 
mdw ©   (2008-06-10 16:04) [3]


> 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), если есть желание. Тогда присылайте добавим.


 
Elec3C ©   (2008-06-10 17:08) [4]

Спасибо!

> Можете добавить свойство

Сейчас занят, может, чуть позже добавлю и пришлю.


 
Elec3C ©   (2008-06-10 18:02) [5]

Кстати, для "не отрисовки"


 
Elec3C ©   (2008-06-10 18:04) [6]

Сорри, глюкануло!

Для "не отрисовки"

> внутри ячейки не отрисовывался квадрат со штриховыми линиями)

нужно убирать полность

if (PKolXLGridData(Grid.FCustomObj).FGridStyle = gsStandard) and AFocus then ACanvas.DrawFocusRect(ARect);

Если же оставить ACanvas.DrawFocusRect(ARect), то фокус будет отрисовываться во всех ячейках!!!


 
mdw ©   (2008-06-11 16:43) [7]


> нужно убирать полность if (PKolXLGridData(Grid.FCustomObj).
> FGridStyle = gsStandard) and AFocus then ACanvas.DrawFocusRect(ARect);
> Если же оставить ACanvas.DrawFocusRect(ARect), то фокус
> будет отрисовываться во всех ячейках!!!

А я что написал? Окошко раздвиньте. Или монитор 640х480? :)



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1262180202
RWolf
2009-12-30 16:36
2010.03.07
DBGrid + скролл


15-1261435653
Piter
2009-12-22 01:47
2010.03.07
Отпуск с точки зрения ТК РФ


15-1261467759
zorik
2009-12-22 10:42
2010.03.07
dll в компоненте. За и против?


2-1262892262
Sunktor
2010-01-07 22:24
2010.03.07
Как поменять ImageList для кнопки при наведении курсора и нажатии


1-1239551806
Student
2009-04-12 19:56
2010.03.07
Сохранение и поиск в Web странице