:: MVP ::
|
|
:: RSS ::
|
|
|
Как убрать пиктограммы с кнопок DBNavigator?
// Способ первый
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
s: string;
begin
s := 'A';
with DBNavigator1 do
for i := 0 to ControlCount-1 do
if Controls[i] is TNavButton then
with TNavButton(Controls[i]) do
begin
Glyph := nil;
Caption := s;
Inc(s[1]);
end;
end;
//Способ второй
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
begin
TNavButton(DBNavigator1.Controls[Ord(nbFirst)] ).Glyph := nil;
TNavButton(DBNavigator1.Controls[Ord(nbFirst)] ).Caption := 'A';
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
|
Как изменить пиктограммы на кнопках DBNavigator?
// Способ первый
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
with DBNavigator1 do
for i := 0 to ControlCount-1 do
if Controls[i] is TNavButton then
with TNavButton(Controls[i]) do
begin
// Картинка размером 16x32 состоит из 2 фреймов:
// 1 - для активной кнопки, 2 - для не активной
NumGlyphs := 2;
// Картинка должна быть в формате BMP
Glyph.LoadFromFile('c:\NewGlyphs.bmp');
end;
end;
//Способ второй
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Картинка размером 16x32 состоит из 2 фреймов:
// 1 - для активной кнопки, 2 - для не активной
TNavButton(DBNavigator1.Controls[Ord(nbFirst)] ).NumGlyphs := 2;
// Картинка должна быть в формате BMP
TNavButton(DBNavigator1.Controls[Ord(nbFirst)]).Glyph.LoadFromFile('c:\NewGlyphs.bmp');
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
|
Как изменить значение свойства Enabled у кнопок DBNavigator?
// Способ первый
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
with DBNavigator1 do
for i := 0 to ControlCount-1 do
if Controls[i] is TNavButton then
with TNavButton(Controls[i]) do
Enabled := not Enabled;
end;
//Способ второй
uses
{...,} DBCtrls;
type
TDBNavigator = class(DBCtrls.TDBNavigator);
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
with DBNavigator1 do
Buttons[nbFirst].Enabled := not Buttons[nbFirst].Enabled;
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
//Способ третий
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
begin
TNavButton(DBNavigator1.Controls[Ord(nbFirst)]).Enabled :=
not TNavButton(DBNavigator1.Controls[Ord(nbFirst)]).Enabled;
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
|
Как настроить всплывающие подсказки в DBNavigator?
// Способ первый
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
with DBNavigator1 do
for i := 0 to ControlCount-1 do
if Controls[i] is TNavButton then
with TNavButton(Controls[i]) do
begin
// Подсказка включается индивидуально для каждой кнопки
ShowHint := True;
case Index of
nbFirst: Hint := 'Подсказка для кнопки First';
nbPrior: Hint := 'Подсказка для кнопки Prior';
nbNext: Hint := 'Подсказка для кнопки Next';
nbLast: Hint := 'Подсказка для кнопки Last';
nbInsert: Hint := 'Подсказка для кнопки Insert';
nbDelete: Hint := 'Подсказка для кнопки Delete';
nbEdit: Hint := 'Подсказка для кнопки Edit';
nbPost: Hint := 'Подсказка для кнопки Post';
nbCancel: Hint := 'Подсказка для кнопки Cancel';
nbRefresh: Hint := 'Подсказка для кнопки Refresh';
end;
end;
end;
//Способ второй
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Подсказка включается для всех кнопок сразу
DBNavigator1.ShowHint := True;
// Замена подсказок "по умолчанию"
with DBNavigator1.Hints do
begin
Clear;
Add('Подсказка для кнопки First');
Add('Подсказка для кнопки Prior');
Add('Подсказка для кнопки Next');
Add('Подсказка для кнопки Last');
Add('Подсказка для кнопки Insert');
Add('Подсказка для кнопки Delete');
Add('Подсказка для кнопки Edit');
Add('Подсказка для кнопки Post');
Add('Подсказка для кнопки Cancel');
Add('Подсказка для кнопки Refresh');
end;
end;
//Способ третий
uses
{...,} DBCtrls;
type
TDBNavigator = class(DBCtrls.TDBNavigator);
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
DBNavigator1.ShowHint := True;
with DBNavigator1 do
Buttons[nbFirst].Hint := 'Подсказка для кнопки First';
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
//Способ четветрый
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Подсказка включается для всех кнопок сразу
DBNavigator1.ShowHint := True;
TNavButton(DBNavigator1.Controls[Ord(nbFirst)]).Hint := 'Подсказка для кнопки First';
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
|
Как скрыть ненужные кнопки в DBNavigator?
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
begin
DBNavigator1.VisibleButtons := DBNavigator1.VisibleButtons - [nbFirst];
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
|
Как проверить видимость нужной кнопки в DBNavigator?
uses
{...,} DBCtrls;
procedure TForm1.Button1Click(Sender: TObject);
begin
if nbFirst in DBNavigator1.VisibleButtons then
ShowMessage('Кнопка First является видимой');
// Вместо nbFirst могут быть следующие значения:
// nbFirst, nbPrior, nbNext, nbLast, nbInsert,
// nbDelete, nbEdit, nbPost, nbCancel, nbRefresh
end;
|
Как нажимать кнопки DBNavigator при помощи клавиатуры?
uses
{...,} DBCtrls;
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := True;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
KeyBtn: array[TNavigateBtn] of record
Key: Word;
Btn: TNavigateBtn;
end = ((Key: VK_F1; Btn: nbFirst),
(Key: VK_F2; Btn: nbPrior),
(Key: VK_F3; Btn: nbNext),
(Key: VK_F4; Btn: nbLast),
(Key: VK_F5; Btn: nbInsert),
(Key: VK_F6; Btn: nbDelete),
(Key: VK_F7; Btn: nbEdit),
(Key: VK_F8; Btn: nbPost),
(Key: VK_F9; Btn: nbCancel),
(Key: VK_F10; Btn: nbRefresh));
var
i: TNavigateBtn;
begin
for i := nbFirst to nbRefresh do
if KeyBtn[i].Key = Key then
begin
DBNavigator1.BtnClick(KeyBtn[i].Btn);
Break;
end;
end;
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
ShowMessage(TNavButton(DBNavigator1.Controls[Ord(Button)]).Hint);
end;
|
При использовании материала - ссылка на сайт обязательна
|
|