社区
Delphi
帖子详情
“DBNavigator”上的箭头能不能改成中文啊??
zhujiangxiong
2003-10-21 11:02:04
“DBNavigator”上的箭头能不能改成中文啊??
比如“第一条”“第二条”“编辑”等
...全文
192
20
打赏
收藏
“DBNavigator”上的箭头能不能改成中文啊??
“DBNavigator”上的箭头能不能改成中文啊?? 比如“第一条”“第二条”“编辑”等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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高可用框架干货
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搭配的高可用、高性能框架。该套框架在多个项目使用过,也在棋牌类项目里面使用过。
CxGrid用法
CxGrid用法- - 使用cxGrid有一些时间了,在这里总结一下使用cxGrid的一些方法,希望给刚开始接触cxGrid的人一些帮助。 1.简单介绍:cxGrid右下方的cxGrid1Level1是表示Grid表的层,cxGrid可以有多层,这相当于集合了PageControl的 功能,而cxGrid1Level1右边的cxGrid1
DB
TableView1相当于
DB
Grid一样。右击c...
web前端面试题(必背面试题)
自己总结的常见的面试题 总字数13万+ 大概有200+左右道题 会不定期更新
cxGrid的问题汇总
1. 去掉cxgrid中台头的box ,在tableview1的ptionsview的groupbybox=false;2. 在GRID footer 中加入sum(列), tableview1的optionsviewàfooter=ture然后在cxGRid1的customize..中的summary 的footer.add需要合计的列kind= skSum3. 去掉cxgrid 中的过滤
cxGrid 使用指南 1
1:cxgrid是应该数据关联的控件,类似
db
grid。2:一般用来查阅表信息,如果要修改的话,直接在上面编辑或添加非常不方便通常要放几个EDit来对选中的记录进行编辑或添加记录。因为表一般都有主键,而用cxgrid很难控制。在post之前的主键检查工作。3:由于没有直接进行编辑,而post之前又要进行主键检查工作(需要循环adoquery,此时的记录索引已经改变了)。所以我们要用一个bookma...
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章