常用的窗体具有Frame和3D外观,
当我把Form.BorderStyle := bsNone,则窗体是平的,但却没有了标题栏;
现在,我既想要标题栏又要它呈现Flat,如何作到?

解决方案 »

  1.   

    自己做一个标题栏.[Timage]
    然后通过移动自治的标题栏移动窗体.
      

  2.   

    在www.51delphi.com里去下载一个ThemeEngine,要什么样的窗体都可以
      

  3.   

    如果想通过继承TCustomForm该如何实现呢?
      

  4.   

    通过继承TCustomForm?
    你的意思是程序所有界面统一风格吧,这个只要在被继承的form设置你的样式然后继承就可以了。
    继承方法:
    1.file - new - other-yourproject面板-点选你要继承的窗体名{customform} {inherited被选中}
    2.程序实现: 
    (1)type//自定义类
       frm =Class(TCustomForm)
       .....
    (2)var
       frm : TCustomForm
       ....
       frm:= TCustomForm.create(Application);
       frm.show;
      

  5.   

    通过继承TCustomForm?
    你的意思是程序所有界面统一风格吧,这个只要在被继承的form设置你的样式然后继承就可以了。
    继承方法:
    1.file - new - other-yourproject面板-点选你要继承的窗体名{customform} {inherited被选中}
    2.程序实现: 
    (1)type//自定义类
       frm =Class(TCustomForm)
       .....
    (2)var
       frm : TCustomForm
       ....
       frm:= TCustomForm.create(Application);
       frm.show;
      

  6.   

    你设置Form.BorderStyle := bsNone后,自己另做一个标题栏,我常用的是用Panel来做.
      

  7.   

    可是实际情况要求必须由TCustomControl继承。
    如果用组合的方法,虽然可以得到结果,但消耗资源过大。
    希望各位能帮忙看看Delphi的源代码,看看如何实现平面的窗口。
      

  8.   

    VC里的向导在建立程序的时候好像就有这一项选择
    用不用3D外观的。
    看一下它的源码吧。