1.我的程序有好多的窗口,当主窗口换皮肤的时候,别的窗口还是从前的皮肤,我就是想当主窗口皮肤换后,那些其它的窗口也跟着换.
2.还有一个问题就是那些像messagebox,messagedlg函数所弹出的窗口的皮肤就是操作系统的,能不能跟BussinessSkinForm设置的皮肤一样.

解决方案 »

  1.   

    1、制作一个formbase所有窗口继承这个窗口
    2、自己制作一个对话框
      

  2.   

    能不能用BussinessSkinForm举个例~~
      

  3.   

    1 其他窗口共享主窗口的skindata;
    2 使用bsSkinMessage以及自带的对话框窗口即可,有自带的demo,搜一下
      

  4.   

    我就是自己制作的TTemplateBaseGUIForm,这个里面包含了所有有关自己绘制窗口的东西,然后所有的窗口都从这个继承下来。这就叫求人不如求己。
      

  5.   

    还有我在TTemplateBaseGUIForm中拦截窗口重绘的(NC_打头的)事件时,都是调用DLL中的函数来实现,这样改变窗口皮肤时只用将DLL重新编译一下,不用编译可执行程序了。
      

  6.   

    使用BsSkinMessage组件能实现messagedlg
    其它窗体上要放一个BsBusinessForm,能显示窗体皮肤的一致。