菜鸟问题:如何实现两个控件一致的操作效果?

nkzgj 2001-09-17 03:58:48
我想通过某一菜单(如N1)的click事件与另一控件(比如ComboBox1)的选择互相相应
也就是如果菜单中选择了某项,ComboBox1中也选相同的项。并使他们带来的效果也相同。请问如何实现?
...全文
66 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
herro123 2001-09-18
  • 打赏
  • 举报
回复
解决这个问题,最好使用Delphi 的ActionList 控件,将所有事件处理添加到里面。
然后观察菜单项的第一个属性Action,现在可以选之前添加的事件,ComboBox也是
一样。然后就可以实现多控件同操作。
光明山人 2001-09-18
  • 打赏
  • 举报
回复
// 没有验证过,谨提供参考

// 选项1,2,3的响应事件
procedure TForm1.MenuItemClick(Sender: TObject);
begin
if ComboBox1.ItemIndex<>TMenuItem(Sender).MenuIndex then
ComboBox1.ItemIndex := TMenuItem(Sender).MenuIndex;

// 置灰Button1
if ComboBox1.ItemIndex=0 then
Button1.Enabled := False;
end;

// ComboBox1的OnClick事件,也可以用OnChange事件
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
// mmiOption是你的菜单条上的选项
if not mmiOption.Items[ComboBox1.ItemIndex].Checked then
mmiOption.Items[ComboBox1.ItemIndex].Checked := True;

// 置灰Button1
if ComboBox1.ItemIndex=0 then
Button1.Enabled := False;
end;
nkzgj 2001-09-18
  • 打赏
  • 举报
回复
举个例子来说:
有菜单 选项(N1) 另有一ComboBox1
子菜单为 选项1(N2) 其选项也为 选项1
选项2(N3) 选项2
选项3(N4) 选项3

并且ComboBox1中选择了选项1后,可使Button1失效。
现在想要实现:在菜单中选择“选项1”时,ComboBox1同时选择“选项1”,也使Button1失效。
开始时我在N2click事件中这样写:
ComboBox1.SelText:='选项1';
Button1.Enabled:=False;
这样事件少时还好办,但事件多时很麻烦,请问有没有简单的方法将两个操作联系起来?

to kuangning(郎之间,穷人):
N1.OnClick :=ComboBox1Change 这句话应该写在哪里?
liang_z 2001-09-17
  • 打赏
  • 举报
回复
效果也相同?什么意思?
在Click事件中选择ComboBox1的选项不就得了?!
kuangning 2001-09-17
  • 打赏
  • 举报
回复
N1.OnClick :=ComboBox1Change

5,388

社区成员

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

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