如何弹出MessageBox对话框?(50)

  • 主题发起人 主题发起人 bj_2005
  • 开始时间 开始时间
B

bj_2005

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);begin Form2.ShowModal; MessageBox(Handle,'这是Form2 ','提示!',49);end;想在显示Form2同时弹出MessageBox对话框,可是你不关闭Form2,那个MessageBox就是不弹出,先生教教我如何让MessageBox弹出来!!
 
代码:
procedure TForm1.Button1Click(Sender: TObject);begin    Form2.Show;    MessageBox(Handle,'这是Form2 ','提示!',49);end;
 
to sanguomi1不行哦,Form2被Form1挡住了,看不到Form2.
 
procedure TForm1.Button1Click(Sender: TObject);begin Form2.Show; application.MessageBox('这是Form2 ','提示!',49);end;
 
2个都是模态窗口,似乎 要用其他方法,不知道线程是否可以
 
将MessageBox放到TForm2.FormCreateprocedure TForm2.FormCreate(Sender: TObject);begin MessageBox(...);end;
 
MessageBox(...); 最发放到form2的SHOW里面。
 
Form2的OnActivate事件里写:MessageBox(Handle,'这是Form2 ','提示!',49);比较接近你所谓的同时弹出。
 
这样会多次弹出吧?
 
var wm_showmsg = wm_user + 100;procedure TForm1.Button1Click(Sender: TObject); begin postmessage(Form2.handle, wm_showmsg,0,0 ); Form2.Showmodal;end;在form2的单元中 procedures wmshowmsg(var message: tmessage); message wm_showmsg ;procedure tform2.wmshowmsg(var message: tmessage); begin MessageBox(Handle,'这是Form2 ','提示!',49);end;
 
加个timer,间隔设置小点,在ontimer事件里写就是了,不用搞得太复杂。timer1.Enabled := False;MessageBox(Handle,'这是Form2 ','提示!',49);
 
是的,我也是通过TIMER实现的,设置的是50
 
procedure TForm1.Button1Click(Sender: TObject);begin Form2.Show; MessageBox({注意加的*****} Form2.Handle, '这是Form2 ','提示!',49);end;
 
大概看了一下,你们回答都不是楼主想要的。如果MessageBox(Handle,'这是Form2 ','提示!',49);这个语句放在 FORM2 单元中,这个问题还要问题吗??用定时器确实是一种方法。但好像有点别扭吧?呵呵,最佳方案我认为回调函数(也可以认为是一个事件),FORM2显示后,立即调用回调函数,使用时这个回调函数指向FORM1中一个函数就OK了。这样就要达到在FORM1中写代码对FORM2操作。这个方案最典型的例子是:公开进度对话框窗体。
 
MessageBox({注意加的*****} Form2.Handle, '这是Form2 ','提示!',49);就可以了!
 
后退
顶部