no, form1.formstyle:=fsmdichild; 整个是一个mdi工程,然而无论我把formstyle改成什么,从form2触发的colordialog都乖乖的跑到 了form1的身后,很奇怪。
只有我把form1先最小化,才可以
with colordialog1 do begin color:=fmdesign.Filledcolor; form1.WindowState:=wsminimized; if Execute then form1.filledcolor:=color; form1.WindowState:=wsnormal; end; 以上这样可以,不过效果不好
怎么会被form1挡住呢?很奇怪,你form1和form2的关系是什么?不可能两个窗体同时showmodal的吧?
form2 use form1,给form1中的一些变量赋值。问题是form2触发的对话框被form1挡住了
你这样启动窗体很奇怪,而且一开始就弹一个颜色选择对话框出来做什么?
form2是一个‘工具栏’,在form2上为form1配置画笔等信息。
因为form2引用了form1的公共变量,所以form2引用了form1,而不是相反。
最好可以控制form2弹出对话框的位置。
form1.FormStyle := fsStayOnTop ;
form1.formstyle:=fsmdichild;
整个是一个mdi工程,然而无论我把formstyle改成什么,从form2触发的colordialog都乖乖的跑到
了form1的身后,很奇怪。
begin
color:=fmdesign.Filledcolor;
form1.WindowState:=wsminimized;
if Execute then
form1.filledcolor:=color;
form1.WindowState:=wsnormal;
end;
以上这样可以,不过效果不好
现在发现form1有个onpaint过程,把这个过程禁用就可以
具体还不大清楚为什么