Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Flat ScrollBar и TScrollBarMode не пойму как применять? [D7, WinXP]


Нулевой ©   (2005-08-22 15:38:00) 

Код
unit dbgrideh1;

interface

uses
 Windows, SysUtils, Classes, Forms, Controls, CommCtrl, StdCtrls, Grids,
 DBGridEh, ExtCtrls;

type
 TScrollBarMode = (sbmRegular, sbmFlat, sbm3D);
 Tdbgrideh1 = class(TDBGridEh)
 private
   { Private declarations }
   FScrollBarMode: TScrollBarMode;
   procedure SetScrollBarMode(const Value: TScrollBarMode);
 protected
   { Protected declarations }

   procedure CreateWnd; override;
 public
   { Public declarations }
 published
   { Published declarations }
//    property ScrollBarMode;
   property ScrollBarMode: TScrollBarMode read FScrollBarMode write
     SetScrollBarMode;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents('Samples', [Tdbgrideh1]);
end;

const
 ScrollBarProp: array[TScrollBarMode] of Integer = (FSB_REGULAR_MODE,
   FSB_FLAT_MODE, FSB_ENCARTA_MODE);

procedure TDBGridEh1.SetScrollBarMode(const Value: TScrollBarMode);

begin
 if FScrollBarMode <> Value then
 begin
   FScrollBarMode := Value;
   FlatSB_SetScrollProp(Handle, WSB_PROP_HSTYLE, ScrollBarProp[FScrollBarMode],
     True);
   FlatSB_SetScrollProp(Handle, WSB_PROP_VSTYLE, ScrollBarProp[FScrollBarMode],
     True);
 end;
end;

procedure TDBGridEh1.CreateWnd;
begin
 inherited;
 InitializeFlatSB(Handle);
 FlatSB_EnableScrollBar(Handle, SB_BOTH, ESB_ENABLE_BOTH);
 FlatSB_SetScrollProp(Handle, WSB_PROP_HSTYLE, ScrollBarProp[FScrollBarMode],
   True);
 FlatSB_SetScrollProp(Handle, WSB_PROP_VSTYLE, ScrollBarProp[FScrollBarMode],
   True);
end;

end.

Пишет ошибка:
[Error] Never-build package 'Package1' requires always-build package 'EhLib70'
Как побороть? Где почитать?

Хочу разобраться как применять sbmRegular, sbmFlat, sbm3D,
хотя может в Gride нельзя !


Юрий Зотов   (2005-08-22 17:40:00) [1]

> Нулевой ©   (22.08.05 16:36) [2]

Это уже вопрос по FlatSB - не для этой конференции. Задайте в "Основной", будет гораздо больше шансов получить ответ.


Нулевой   (2005-08-22 16:36:00) [2]

Спасибо получилось!
Теперь другое вылезло:
пропала вертикальная прокрутка, чуть-чуть её видно.
И ещё при прокрутке нажимая правую стрелку бегунок двигается к правой стрелке на кнопке пока мышь на стрелке справа и бегунок справа, увожу мышь бегунок идет на начало влево.
Какие свойства добавить и обработать?
Спасибо!


Юрий Зотов   (2005-08-22 15:52:00) [3]

В опциях своего пакета на вкладке "Description" проставьте "Rebuild As Needed" в группе "Build control".

Где почитать - переключить диалог опций пакета на вкладку "Description" и нажать в нем кнопку "Help".


Наверх

Титульная страница Поиск, карта сайта Написать письмо