DBNavigator控件加上汉字,怎样实现

你想把DbNagvator图片去掉换成文字 可以这样
1. form1摆一个DBNavigator1
2\定义
type
TMyNavgator = class(TDBNavigator);
3.FormCreat时候
//去掉图片
TMyNavgator(DBNavigator1).Buttons[nbFirst].Glyph.Assign(nil);
//汉字
TMyNavgator(DBNavigator1).Buttons[nbFirst].Caption:='第一条';

如果要加上自己的图片:

TspeedButton(TMyNavgator(DBNavigator1).Buttons[nbFirst]).Layout:=blGlyphTop;//位置
TspeedButton(TMyNavgator(DBNavigator1).Buttons[nbFirst]).Glyph.LoadFromFile('D:\1.bmp');//图片
TMyNavgator(DBNavigator1).Buttons[nbFirst].Caption:='增加';

修改VCL源码,或者自己从DBNavigator派生一个类,然后在初始按钮里的写按钮的标题

unit MyNavEh;

interface
uses classes,windows,DBCtrls,db;
type
  TMyDBNavigator=Class(TDBNavigator)
  Private
    procedure SetstrCaption;
  public
    constructor Create(AOwner:TComponent);override;
    procedure BtnClick(Index:TNavigateBtn);override;
  end;
implementation
var
  strCaption:array[0..9] of String=('第一条','上一条','下一条','末一条',
                                    '添加','删除','编辑','提交','取消','刷新');
procedure TMyDBNavigator.BtnClick(Index:TNavigateBtn);
begin
  if (DataSource<>nil) and (DataSource.State<>dsInactive) then
  begin
    if not (csDesigning in ComponentState) then
    with DataSource.DataSet do
    begin
      case Index of
      nbPrior:Prior;
      nbNext:Next;
      nbFirst:First;
      nbLast:Last;
      nbEdit:Edit;
      nbCancel:Cancel;
      nbPost:Post;
      nbRefresh:Refresh;
      nbDelete:
      begin
        if MessageBox(Handle,'确认要删除这条记录吗?','警告',
                      MB_OKCANCEL or MB_ICONWARNING)=ID_OK then
          Delete;
      end;
    end;
    end;
  end;
end;

constructor TMyDBNavigator.Create(AOwner:TComponent);
begin
  inherited Create(AOwner);
  SetstrCaption;
end;

procedure TMyDBNavigator.SetstrCaption;
var
  I:TNavigateBtn;
  K:Integer;
begin
  K:=0;
  for I:=Low(Buttons) to High(Buttons) do
  begin
    Buttons[I].Caption:=strCaption[K];
    Inc(K);
  end;
end;

end.

转载于:https://www.cnblogs.com/tecsoon/archive/2009/06/04/1496268.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值