Главная страница
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.013 c
3-1235917104
Den
2009-03-01 17:18
2010.03.07
TreeView и база данных


15-1260997140
Кто б сомневался
2009-12-16 23:59
2010.03.07
Web при помощи Delphi


15-1261496955
xayam
2009-12-22 18:49
2010.03.07
Когда истина зависит от терминологии


2-1261744100
Who_is_you?
2009-12-25 15:28
2010.03.07
Процедура прерывания. В Delphi 7 pointer ?


2-1262678486
Eh
2010-01-05 11:01
2010.03.07
Меню как в Access