发分喽!快来看看TToolBar做工具栏遇到的问题,参与有分!不够再开贴子加!

Hawk_sun 2002-09-09 02:39:56
我用TToolBar做了界面的工具栏,并且在上面有六个ToolButton,我将他们一一与TMenu中的MenuItem做了对应关联,完成所有的菜单Clik事件后一运行程序,什么都正确,但是有一点搞不懂:我单击那些ToolButton的时候,那些按钮居然没有下压的动作,鼠标点在上面按钮纹丝不动,但是对应的事件却已经开始执行了!这个问题你们碰到过吗?如何解决?
好像我把ToolButton换成SpeedButton就好了!但是搞不懂是不是我哪里忘记设置了!我把那个form 中ToolBar部分view as text就是下面的样子:

object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 907
AutoSize = True
ButtonHeight = 28
ButtonWidth = 30
Caption = 'ToolBar1'
EdgeBorders = [ebTop, ebBottom]
Flat = True
Images = ImageList1
TabOrder = 0
object ToolButton1: TToolButton
Left = 0
Top = 0
AllowAllUp = True
Caption = '&New '
ImageIndex = 10
MenuItem = New1
Visible = False
end
object ToolButton2: TToolButton
Left = 30
Top = 0
AllowAllUp = True
Caption = '&Open '
ImageIndex = 7
MenuItem = Open1
end
object ToolButton3: TToolButton
Left = 60
Top = 0
AllowAllUp = True
Caption = '&Save'
ImageIndex = 5
MenuItem = Save1
end
object ToolButton4: TToolButton
Left = 90
Top = 0
AllowAllUp = True
Caption = 'Save &As'
ImageIndex = 4
MenuItem = SaveAs1
end
object ToolButton5: TToolButton
Left = 120
Top = 0
AllowAllUp = True
Caption = '&Close'
ImageIndex = 14
MenuItem = Close1
end
你们帮我瞅瞅!
...全文
64 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hawk_sun 2002-09-09
  • 打赏
  • 举报
回复
问题解决!结贴喽!谢谢大家捧场!
To :hdaq(一生何求) 老大欢迎您以后多多指教,这么简单的一个问题我怎么
就没有看出来呢?又长见识了,散分!
tony808 2002-09-09
  • 打赏
  • 举报
回复
我没有碰到你说的问题,但我不是用你这种方法去对应关联的,而是在点击事件时去调用对应的函数。没有你说的这种现象,你可以试试
hdaq 2002-09-09
  • 打赏
  • 举报
回复
我碰到过!如果你直接将ToolButton与TMenu中的MenuItem做对应关联,则点下ToolButton的之后立即会执行菜单的OnClick事件,而不管你有没有松开鼠标。我也没用其他方法,只是稍微改了一下代码:
将ToolButton与TMenu中的MenuItem对应关联去掉,在每个ToolButton的OnClick事件中调用相应的菜单OnClick(Sender);就可以了。

void __fastcall TForm1::new1Click(TObject *Sender)
{
//菜单事件
//你的代码

}
//---------------------------------------------------------------------------

void __fastcall TForm1::ToolButton1Click(TObject *Sender)
{
// 点击ToolButton1
new1Click(Sender);
}
//---------------------------------------------------------------------------
cuilin2002 2002-09-09
  • 打赏
  • 举报
回复
没碰过,但up
hup 2002-09-09
  • 打赏
  • 举报
回复
没碰到,也搞不懂.UP
bluecetacean 2002-09-09
  • 打赏
  • 举报
回复
没有碰到过,帮你UP一下
Hawk_sun 2002-09-09
  • 打赏
  • 举报
回复
按照你的经验,也就是我应该在单击事件中先同步显式调用重绘方法,等其返回后再执行其余的操作?我试试!
Libran 2002-09-09
  • 打赏
  • 举报
回复
因为你程序开始运行后没来得及响应重绘按钮

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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