“DBNavigator”上的箭头能不能改成中文啊??

zhujiangxiong 2003-10-21 11:02:04
“DBNavigator”上的箭头能不能改成中文啊??
比如“第一条”“第二条”“编辑”等
...全文
192 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
dancedog 2003-10-21
  • 打赏
  • 举报
回复
还不如自己搞个加图片的button。多好
first、next、last、edit、insert、post等等
tulippopo 2003-10-21
  • 打赏
  • 举报
回复
去找找第三方控件,怎么问题都解决了,类似控件很多!
要不自己麻烦点,做几个按钮,加上去,要图片有图片,要文字有文字!几爽
oicqluck 2003-10-21
  • 打赏
  • 举报
回复
用button很好,用hint,要打开hint选项,然后输入hint。
47522341 2003-10-21
  • 打赏
  • 举报
回复
楼主可以自己用button调用相应的事件;^_^;你在上面写法文都可以;
hmzgz81 2003-10-21
  • 打赏
  • 举报
回复
是啊! 要想直接改只能自己写控件了! 不过这个控件很简单的!delphi里有现成的命令!

first,last,next。。。。。。
joyv 2003-10-21
  • 打赏
  • 举报
回复
好像要自己写!~
boom201 2003-10-21
  • 打赏
  • 举报
回复
自己用button来写每个的操作吧,比如“下一个”,就用一个button,用代码来实现DBNavigator的所有功能,其实也不一定要用button,其他的能实现的当然可以,要想好看的话,也可以考虑用其他的,比如说toolbar。
song0311 2003-10-21
  • 打赏
  • 举报
回复
楼上的能写的具体点吗?

在HINTS中要输入什么才能实现呢?
lead001 2003-10-21
  • 打赏
  • 举报
回复
修改DBNavigator的Hints属性即可
First record//首笔
Prior record//前一笔
Next record//下一笔
Last record//末笔
Insert record// 插入
Delete record//删除
Edit record//编辑
Post edit//提交
Cancel edit//撤消
Refresh data // 刷新
在上面直接改需要重写控件。
zhujiangxiong 2003-10-21
  • 打赏
  • 举报
回复
我没有重新写控件的能力(刚学DELPHI),不知道重新写控件需要多少水平。我在想自己嫩写控件等于自己可以做编程软件了(比如DELPHI)
hongqi162 2003-10-21
  • 打赏
  • 举报
回复
你的想在上面直接改是什么意思?想通过属性改不行,实现你说的效果需要重写控件。
zhujiangxiong 2003-10-21
  • 打赏
  • 举报
回复
我就是想在上面直接改!怎么做啊??
yaven365 2003-10-21
  • 打赏
  • 举报
回复
学习,俺没有过hint呢
hmzgz81 2003-10-21
  • 打赏
  • 举报
回复
可以改它的Hint 要在上面直接改就要改控件罗!

我觉的就用Hint可以了! 大家都知道是什么意识! 用Hint说明一下也行了!
zhujiangxiong 2003-10-21
  • 打赏
  • 举报
回复
我需要研究研究
lw549 2003-10-21
  • 打赏
  • 举报
回复
学习,收藏。
koma2003 2003-10-21
  • 打赏
  • 举报
回复
修改$(DELPHI).res中相应按钮的bitmap即可
看看源代码就知道了。

var

BtnTypeName: array[TNavigateBtn] of PChar = ('FIRST', 'PRIOR', 'NEXT',

'LAST', 'INSERT', 'DELETE', 'EDIT', 'POST', 'CANCEL', 'REFRESH');

type

TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast,

nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh);

// 初始化按钮

procedure TDBNavigator.InitButtons;

var

I: TNavigateBtn;

Btn: TNavButton;

X: Integer;

ResName: string;

begin

MinBtnSize := Point(20, 18);

X := 0;

for I := Low(Buttons) to High(Buttons) do

begin

Btn := TNavButton.Create (Self); ); // TNavButton 是 TSpeedButton 的子类,其实就是 TSpeedButton

Btn.Flat := Flat;

Btn.Index := I;

Btn.Visible := I in FVisibleButtons;

Btn.Enabled := True;

Btn.SetBounds (X, 0, MinBtnSize.X, MinBtnSize.Y);

FmtStr(ResName, 'dbn_%s', [BtnTypeName[I]]);

Btn.Glyph.LoadFromResourceName(HInstance, ResName); // 从资源文件中根据资源名字调出 TSpeedButton 的 Glyph 属性

Btn.NumGlyphs := 2;

Btn.Enabled := False;

Btn.Enabled := True;

Btn.OnClick := ClickHandler;

Btn.OnMouseDown := BtnMouseDown;

Btn.Parent := Self;

Buttons[I] := Btn;

X := X + MinBtnSize.X;

end;

Buttons[nbPrior].NavStyle := Buttons[nbPrior].NavStyle + [nsAllowTimer];

Buttons[nbNext].NavStyle := Buttons[nbNext].NavStyle + [nsAllowTimer];

end;

但是 Buttons 属性被 Protect 了,一般情况下访问不到,要玩一点技巧!

protected

Buttons: array[TNavigateBtn] of TNavButton;

这样做就行了:

type

TMyNavgator = class(TDBNavigator); // Delphi 默认在同一个单元里的类可以互相访问其 protected 属性

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

TMyNavgator(DBNavigator1).Buttons[nbFirst].Glyph.LoadFromFile('D:.bmp');

end;

zhujiangxiong 2003-10-21
  • 打赏
  • 举报
回复
我现在不用BNavigator来控制DBGRID里的记录了,要用按钮来控制了。谁能告诉我First、 Prior 、Next、 Last 、Delete Edit Post、 Cancel、 Refresh 这些按钮的代码具体怎么写吗?
fhuibo 2003-10-21
  • 打赏
  • 举报
回复
用按钮可以吗
zhujiangxiong 2003-10-21
  • 打赏
  • 举报
回复
用按钮控制DBGRID里的first,last,next记录怎么写(代码)啊!请教ing?
db服务器连接mysql+redis高可用高性能框架干货1、使用c++语言,vs2019开发垮平台[windows和linux]连接MySql和redis框架。2、使用MySql持久化玩家数据,redis做玩家数据缓存层,redis不做数据持久化。mysql搭配redis工作效率非常高效,就好比男女搭配干活不累,没有redis,mysql也能独立很好的完成用户读写请求。有了redis,用户访问数据的效率更高,时间更短,快速的完成请求。3、讲解如何保持mysql和redis数据强一致性策略,并在代码里实现。每次启动redis,使用管道技术,从mysql批量导入活跃用户数据到redis中,并设置过期时间.4、教程使用线程池技术,每个线程拥有自己独立的数据,线程绑定类。每一个实例就包含一个线程每个线程数据里包含:mysql连接器、redis连接器、内存回收池、安全的串行队列、条件变量、互斥量保证线程内的数据安全。5、工作原理:没有请求时,各个工作线程处于休眠状态。有读写请求时,从线程池获取一个线程,添加读写请求,把数据推送到线程工作队列中。然后工作线程获取队列的数据,进行串行工作任务安排,进行mysql数据库读写操作,以及redis读写数据操作,当完成工作任务时,执行下一个工作任务,同时把处理结果推送到逻辑线程,把数据给用户。6、用户读数据策略:用户获取数据首先是先从redis查找数据,redis命中,返回数据给玩家,redis命中失败,mysql中查找数据,然后写入数据到redis中,返回数据给用户。7、用户写数据策略:用户先从redis中删除数据,然后写数据到mysql中,最后再把数据写入到redis中,保持数据一致性。8、教程是一个干货教程,不是新手教程,mysql基础语法讲解的少,redis有讲解基础系列。教程讲解的是如何搭建一个支持高并发,高性能的读写数据库框架,使用mysql+redis搭配的高可用、高性能框架。该套框架在多个项目使用过,也在棋牌类项目里面使用过。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧