DELPHI自带的那个添加删除前一个后一个得那个控件不太好用,谁有一个中文并带有图标的这类控件么?DELPHI里面的太不直观,如果要自己些代码改怎么些呢

解决方案 »

  1.   

    不用别的控件,只要将Delphi自带的TDBNavigator控件稍加改造就行了。
    1.改造提示信息。
      修改DBNavigator1的提示信息即Hints属性为:
        第一条
        上一条
        下一条
        最后一条
        添加记录
        删除记录
        修改记录
        保存记录
        取消编辑
        刷新数据
    2.改造DBNavigator1标题。
    处理窗体的创建事件,修改各个按钮的标题:
    procedure TForm1.FormCreate(Sender: TObject);
    const a:array[0..9] of string
            =('最前','向前','向后','最后','添加',
              '删除','修改','保存','取消','刷新');
    var
      i:integer;
    begin
      for i:=0 to DBNavigator1.ControlCount-1 do
        TNavButton(DBNavigator1.Controls[i]).Caption:=a[i];
    end;
      现在,界面上的按钮标题和提示信息已经全部变成中文的了,接下来就是要处理按钮执行后的对话框和异常信息框了。剩下的就交给你吧!
    怎么样,解决了吧?!
      

  2.   

    使用Image Editor 打开delphi6\lib\qdbctrls 文件,剩下的事情就是你的美术功底了!:)
      

  3.   

    更改DBNavigator中的图片
    procedure ChangeDBNavImage(DBnav: TDbNavigator); 
    var 
      i: Integer; 
      tempGlyph: TBitmap; 
      ExePath: string; 
    begin 
      ExePath := ExtractFilePath(Application.ExeName); 
      tempGlyph := TBitmap.Create; 
      try 
        with DBNav do 
        begin 
          for i := 0 to ControlCount - 1 do 
          begin 
            if Controls[i].ClassName = 'TNavButton' then 
            begin 
              case TNavButton(Controls[i]).Index of 
                nbFirst: tempGlyph.LoadFromFile(ExePath + 'first.bmp'); 
                nbPrior: tempGlyph.LoadFromFile(ExePath + 'previous.bmp'); 
                nbNext: tempGlyph.LoadFromFile(ExePath + 'Next.bmp'); 
                nbLast: tempGlyph.LoadFromFile(ExePath + 'Last.bmp'); 
                nbInsert: tempGlyph.LoadFromFile(ExePath + 'Insert.bmp'); 
                nbDelete: tempGlyph.LoadFromFile(ExePath + 'Delete.bmp'); 
                nbEdit: tempGlyph.LoadFromFile(ExePath + 'Edit.bmp'); 
                nbPost: tempGlyph.LoadFromFile(ExePath + 'Post.bmp'); 
                nbCancel: tempGlyph.LoadFromFile(ExePath + 'Cancel.bmp'); 
                nbRefresh: tempGlyph.LoadFromFile(ExePath + 'Refresh.bmp'); 
              end; 
              TNavButton(Controls[i]).Glyph := tempGlyph; 
            end; 
          end; 
        end; 
      finally 
        tempGlyph.Free; 
      end; 
    end; procedure TForm1.Button1Click(Sender: TObject); 
    begin 
      ChangeDBNavImage(DBNavigator1); 
    end;