我在程序里面使用了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;但是程序运行的时候主窗体不会最大化
为什么啊?
有用过这个控件的同道们看看

解决方案 »

  1.   

    解决起来难度不小,MDI模式是微软放弃的技术,就是因为里面有硬伤。
    这类控件应用在MDI同样也存在硬伤,最终也没有全部解决。
      

  2.   

    vclskin提供了几个解决办法,诸如运行时动态调整form的caption
    最大化问题我也遇到过,是显示fastreport报表的时候,fr的窗体已经最大化了,但是显示起来还是正常状态,还要手动点一次,好像是把对话框拉到跟屏幕一样大小,下次再启动就正常了,你可以试试,怀疑vclskin将状态写到注册表了