弹出菜单弹出可以知道,但要怎么知道它是否关闭了???
解决方案 »
- 什么DBGrid组件可以实现XP风格啊?
- 有没有办法编程实现直接在 我的电脑 下面增加个快捷方式
- 开第二贴,帮一帮各位,关于打印对话框
- 怎样避免重复运行一个程序?
- 请问哪里有ppp协议的delphi原码下载
- 一个关于操作方面的。就是没有安装任何抓屏软件的情况下,什么抓屏?
- 请问怎样把string型数据(外表看是数字)去掉小数点然后显是在edit中
- Delphi高难问题挑战
- ADO连ACCESS得图像显示及存取问题!急!
- 请问这两ASSIGNED和raise的具体含义是什么?
- 对于数型列表的内容,怎样在中间业务逻辑层进行封装,使得客户端不用知道其在数据库中的存储方式及其对应的字段名?
- 查找到的记录在ComboBox中显示的问题?(急急急)
你加个条件判断,是不是show或者visible=true
之类的应该可以吧
BORLAND一般以微软的制作为标准,在MSDN中无此讲法
也很少人做菜单收回的事件的需要!
简单创建一个新的组件TPopupMenuPro,下面是一些关键代码:
type TPopupMenuPro = class(TPopupMenu)
FPopupped: Boolean;
public
constructor Create(AOwner: TComponent); override;
procedure Popup(X, Y: Integer); override;
property
Popupped: Boolean read FPopupped;
end;implementationconstructor TPopupMenuPro.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FPopupped := False;
end;procedure TPopupMenuPro.Popup(X, Y: Integer);
begin
FPopupped := True;
inherited Popup(X, Y);
FPopupped := False;
end;end.然后,注册这个组件,使用TPopupMenuPro代替TPopupMenu,检测其Popupped属性即可知道是否弹出菜单
Function NotClose(num:Integer):Boolean;
begin
try
Result:= false;
if (curFrameNum=num) then
exit; Result := True;
if (curFrameNum=0) then
exit; curFrame.Free;
curFrameNum:=0;
except
on e:Exception do
if Application.MessageBox('发生异常,是否显示异常信息?','错误', mb_IconWarning + mb_YesNo) = mrYes then
Application.MessageBox( pchar(E.message),'错误信息', mb_IconWarning + mb_Ok);
end;
end;