动态创建了一个菜单项,得到了它handle,怎样用handle找到它并进行操作?
用FindControl的话,因为TMenuItem不是继承自TWinControl ,强制转换后找到的是nil,后来我改用创建的时候返回name,用FindComponent找它,但创建时返回的name值都是空值,有什么方法可以解决这个问题,请大虾们指点一下,谢谢!
用FindControl的话,因为TMenuItem不是继承自TWinControl ,强制转换后找到的是nil,后来我改用创建的时候返回name,用FindComponent找它,但创建时返回的name值都是空值,有什么方法可以解决这个问题,请大虾们指点一下,谢谢!
解决方案 »
- 拼音怎样转换为汉字
- 出售本人知识
- 各个不同年龄阶段女孩的心,及她们是如何看待男孩?
- 真诚招聘软件研发人员
- 请教各位高手,怎么实现调用CHM帮助的时候,能定位到与当前运行程序功能模块对应的帮助页面,解决立即给分
- 请问那里有游戏平台的服务器端下载???
- delphi中有一句richedit.perform(EM_EXLIMTTEXT,0,8000000);是why???望大虾指教!!!!
- delphi 7 中如何表示空?
- 关于语音识别系统的问题。
- WINSOCK 控件问题
- 本群刚刚建立,主要研究软件编程,高手进来。群号:18283502
- 平台移植,求各位帮忙看看,帮我把下面的代码改称vc的格式,在下多谢了!!!
x1.Add(t);
t.Caption:='tttttttttt';
2.创建时返回的name值都是空值?那是因为你动态创建的时候没给他取名字吧!
BOOL ModifyMenu( HMENU hMnu,
UINT uPosition,
UINT uFlags,
PTR uIDNewItem,
LPCTSTR lpNewItem
);
var
mm:TMenuItem;
begin
mm:=TMenuItem.Create(PopupMenu1);
mm.Name :='Hello';
PopupMenu1.Items.Add(mm);
end;procedure TForm1.Button3Click(Sender: TObject);
var
mm:TMenuItem;
begin
mm:= (PopupMenu1.FindComponent('Hello') as TMenuItem);
mm.Caption :='Hello';
end;直接用form的FindComponent是找不到的,必须要用该菜单下去找。
to newfang(方方) :用动态数组的话该怎么做,能给个简单的demo么?
to hthunter(核桃-每天回10个技术贴): 怎样遍历所有的菜单项?componentcunt,发现它不能遍它的下级控件的再下级控件,如何才能遍历所有项?
谢谢!