10 个解决方案
#1
这个要求挺变态的,你换个思路。
如果执行了Application.MessageBox 设全局变量为1,如果Application.MessageBox有了返回值则全局变量为0
如果执行了Application.MessageBox 设全局变量为1,如果Application.MessageBox有了返回值则全局变量为0
#2
你干脆自己做个窗体来代替这个MessageBox好了
然后用
if not assigned(form1) then
Form1:= Form1.Create(Application);
Form1.ShowModal;
然后用
if not assigned(form1) then
Form1:= Form1.Create(Application);
Form1.ShowModal;
#3
我都是用一个变量来标志(比如初使值为0),在显示MessageBox前,检查这个变量的值是否
为0。如果为1,直接退出;如果为0,先将变量设为1,然后调用MessageBox。在MessageBox
下面一行,将变量的值设为0就可以了。
为0。如果为1,直接退出;如果为0,先将变量设为1,然后调用MessageBox。在MessageBox
下面一行,将变量的值设为0就可以了。
#4
function AppMessage(AMsg: string): Boolean;
implementation
var
bHas: Boolean=False;
function AppMessage(AMsg: string): Boolean;
begin
Result:=False;
if bHas then Exit;
bHas:=True;
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
bHas:=False;
Result:=True;
end;
implementation
var
bHas: Boolean=False;
function AppMessage(AMsg: string): Boolean;
begin
Result:=False;
if bHas then Exit;
bHas:=True;
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
bHas:=False;
Result:=True;
end;
#5
你用这个吧,你生成后有句柄的
messagedlg();
messagedlg();
#6
简单的方法就是设置标志变量
zhoutian618(周天) 完全可以
zhoutian618(周天) 完全可以
#7
简单的办法是设置一个全局变量 有消息时设置为TRUE 用户看消息后设置为FALSE
有新消息来时再设置为TRUE 只有当FALSE状态时才弹出新消息
有新消息来时再设置为TRUE 只有当FALSE状态时才弹出新消息
#8
其实messagebox也是一个窗体,你完全可以根据窗体的caption找到窗体
比如
messagebox(0,'hello world','hello',mb_ok);
h := findwindow(nil,'hello');
if h > 0 then
showmessage('messagebox has been called');
不过我还是比较倾向于楼上几位的方法
比如
messagebox(0,'hello world','hello',mb_ok);
h := findwindow(nil,'hello');
if h > 0 then
showmessage('messagebox has been called');
不过我还是比较倾向于楼上几位的方法
#9
还是自己做个窗体好。
#10
强烈同意
naughtyboy((笨!奔!))
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
产生窗体是类名为: #32770 (Dialog)
Caption 为: 提示
该窗体下有一个 Button 与 Static
判断时为了得到准确的结果,
建议要同时判断以上几个条件,
因为 #32770 (Dialog) 类是很普遍的, QQ 的主窗体就是它
naughtyboy((笨!奔!))
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
产生窗体是类名为: #32770 (Dialog)
Caption 为: 提示
该窗体下有一个 Button 与 Static
判断时为了得到准确的结果,
建议要同时判断以上几个条件,
因为 #32770 (Dialog) 类是很普遍的, QQ 的主窗体就是它
#1
这个要求挺变态的,你换个思路。
如果执行了Application.MessageBox 设全局变量为1,如果Application.MessageBox有了返回值则全局变量为0
如果执行了Application.MessageBox 设全局变量为1,如果Application.MessageBox有了返回值则全局变量为0
#2
你干脆自己做个窗体来代替这个MessageBox好了
然后用
if not assigned(form1) then
Form1:= Form1.Create(Application);
Form1.ShowModal;
然后用
if not assigned(form1) then
Form1:= Form1.Create(Application);
Form1.ShowModal;
#3
我都是用一个变量来标志(比如初使值为0),在显示MessageBox前,检查这个变量的值是否
为0。如果为1,直接退出;如果为0,先将变量设为1,然后调用MessageBox。在MessageBox
下面一行,将变量的值设为0就可以了。
为0。如果为1,直接退出;如果为0,先将变量设为1,然后调用MessageBox。在MessageBox
下面一行,将变量的值设为0就可以了。
#4
function AppMessage(AMsg: string): Boolean;
implementation
var
bHas: Boolean=False;
function AppMessage(AMsg: string): Boolean;
begin
Result:=False;
if bHas then Exit;
bHas:=True;
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
bHas:=False;
Result:=True;
end;
implementation
var
bHas: Boolean=False;
function AppMessage(AMsg: string): Boolean;
begin
Result:=False;
if bHas then Exit;
bHas:=True;
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
bHas:=False;
Result:=True;
end;
#5
你用这个吧,你生成后有句柄的
messagedlg();
messagedlg();
#6
简单的方法就是设置标志变量
zhoutian618(周天) 完全可以
zhoutian618(周天) 完全可以
#7
简单的办法是设置一个全局变量 有消息时设置为TRUE 用户看消息后设置为FALSE
有新消息来时再设置为TRUE 只有当FALSE状态时才弹出新消息
有新消息来时再设置为TRUE 只有当FALSE状态时才弹出新消息
#8
其实messagebox也是一个窗体,你完全可以根据窗体的caption找到窗体
比如
messagebox(0,'hello world','hello',mb_ok);
h := findwindow(nil,'hello');
if h > 0 then
showmessage('messagebox has been called');
不过我还是比较倾向于楼上几位的方法
比如
messagebox(0,'hello world','hello',mb_ok);
h := findwindow(nil,'hello');
if h > 0 then
showmessage('messagebox has been called');
不过我还是比较倾向于楼上几位的方法
#9
还是自己做个窗体好。
#10
强烈同意
naughtyboy((笨!奔!))
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
产生窗体是类名为: #32770 (Dialog)
Caption 为: 提示
该窗体下有一个 Button 与 Static
判断时为了得到准确的结果,
建议要同时判断以上几个条件,
因为 #32770 (Dialog) 类是很普遍的, QQ 的主窗体就是它
naughtyboy((笨!奔!))
Application.MessageBox(PChar(AMsg), '提示', MB_ICONINFORMATION+MB_OK);
产生窗体是类名为: #32770 (Dialog)
Caption 为: 提示
该窗体下有一个 Button 与 Static
判断时为了得到准确的结果,
建议要同时判断以上几个条件,
因为 #32770 (Dialog) 类是很普遍的, QQ 的主窗体就是它