鼠标单击PageControl组件中的页签TabSheet事件

yanele 2008-05-16 11:11:02
我有一个PageControl组件,分了n个TabSheet页签,我想当鼠标单击页签时,怎么激活一个事件,将结果返回到对应TabSheet页签中的DBGrid组件中
...全文
339 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanele 2008-06-06
  • 打赏
  • 举报
回复
谢谢各位了,我的需求基本实现了,并已给分!
aeolus_x 2008-05-19
  • 打赏
  • 举报
回复
在speedbutton中写如下代码:

... //dbgrid1记录下移
... //edit赋值
//判断当前pagecontrol的页面是哪一个,并分别
if pagecontrol1.ActivePage=TabSheet2 then
begin
...//执行dbgrid2的sql语句
end;
if pagecontrol1.activepage=tabsheet3 then
begin
....//执行dbreid3的sql语句
end;
.
.
.
pengxuan 2008-05-19
  • 打赏
  • 举报
回复
OnChange事件可以触发标签页的更换
飞天揽月 2008-05-17
  • 打赏
  • 举报
回复
同意

也可使用 onclick
blazingfire 2008-05-17
  • 打赏
  • 举报
回复
PageControl1.ActivePageIndex := TabSheet2.PageIndex;//设当前页为TabSheet2
PageControl1.ActivePage := TabSheet2;//设当前页为TabSheet2

var
TabSheet: TTabSheet;
begin
TabSheet := PageControl1.ActivePage;//取得当前激页
ShowMessage(TabSheet.Caption);
end;

yanele 2008-05-17
  • 打赏
  • 举报
回复
谢谢各位了,我自己采用TabSheetShow和TabSheetExit两个事件实现了相应的功能.但另外想知道再通过一个按钮来实现该功能,需判断当前页是哪一个,应该如进行判断?
yanele 2008-05-17
  • 打赏
  • 举报
回复
忘记了说明:
1、有一个pagecontrol组件,里面有9个TabSheet页,每个TabSheet页里有各自的DBGrid组件,每个DBGrid组件需要实现不能的SQL查询;
2、TabSheet1页里的DBGrid1是一个主要查询结果集,并且将DBGrid1当前选中行的对应列值,分别赋值给了n个Edit组件;
3、另外有一个speedButton按钮,控制DBGrid1当前选中的记录往下移动,同时Edit的值也随着变化。

问题是:A、当我选中TabSheet2页时,按一下speedButton按钮,Edit的值也随着变化,
TabSheet2页里的DBGrid2记录以Edit1,Edit2为条件执行DBGrid2里的SQL语句;
B、当我选中TabSheet3页时,按一下speedButton按钮,Edit的值也随着变化,
TabSheet3页里的DBGrid3记录也以Edit1,Edit2为条件执行执行DBGrid3里的SQL语句,此时就不再执行DBGrid2里的SQL语句了;
C、当我选中TabSheet4页时,按一下speedButton按钮,Edit的值也随着变化,
TabSheet4页里的DBGrid4记录也以Edit1,Edit2为条件执行执行DBGrid4里的SQL语句,此时就不再执行DBGrid2和DBGrid3里的SQL语句了;
以此类推!
shuihan20e 2008-05-17
  • 打赏
  • 举报
回复
pagecontrol1.activepage;
0为第一个tabsheet
blazingfire 2008-05-16
  • 打赏
  • 举报
回复
1)页面切换时触发一个PageControl.OnChange事件

2)PageControl.ActivePageIndex := 1;//切换到第2页,第1页下标为0

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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