VCLSkin皮肤在MDI窗体下的问题 VCL组件开发及应用http://www.delphi2007.net/DelphiVCL/html/delphi_20061221110031227.html
我在程序里面使用了VCLSkin皮肤控件版本2.74
控件放在数据模块窗体里面属性设置为SkinFormType属性设置为sfMainform
然后MDI主窗体的Create事件这样写
procedure TfrmMain.FormCreate(Sender: TObject);
begin
DoubleBuffered:=True;
Left:=0; Top:=0;
WindowState:=wsMaximized;
ImgContext.Picture.LoadFromFile(GetContextImgPath); //装载背景图片
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle,GWL_WNDPROC));
SetWindowLong(ClientHandle,GWL_WNDPROC, LongInt(FClientInstance));
end;
但是程序运行的时候主窗体不会最大化
为什么啊?
有用过这个控件的同道们看看
好象是BUG
那有解决的办法没的啊?
第一次用这玩意
解决起来难度不小,MDI模式是微软放弃的技术,就是因为里面有硬伤。
这类控件应用在MDI同样也存在硬伤,最终也没有全部解决。
难道要放弃MDI模式?>
我不用皮肤控件就是正常的啊
一加上这个皮肤控件就不行了
如果客户端是运行在XP以上的系统,可以不用这个皮肤控件了。
关键不都是在XP系统下的撒
而且按钮样式呢?
vclskin提供了几个解决办法,诸如运行时动态调整form的caption
最大化问题我也遇到过,是显示fastreport报表的时候,fr的窗体已经最大化了,但是显示起来还是正常状态,还要手动点一次,好像是把对话框拉到跟屏幕一样大小,下次再启动就正常了,你可以试试,怀疑vclskin将状态写到注册表了
不行啊!
我只要一加上皮肤文件就不行了
只放控件不加皮肤文件没的问题
你可以试下发送两次最小化窗体最大化消息
换一个皮肤控件板本。
..............
不会最大化是什么样的效果,是不是顶端会留有几毫米的缝,看起来像整个窗体往下移动了几毫米?