专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > .NET组件控件

怎么获取windows的主题风格,并编码为无边框窗口绘制XP主题风格标题栏和边框

发布时间:2011-06-24 19:11:59 文章来源:www.iduyao.cn 采编人员:星星草
如何获取windows的主题风格,并编码为无边框窗口绘制XP主题风格标题栏和边框
我需要在窗口的标题栏上绘制几个按钮,用来控制窗口的行为。就像Codeproject上的Visual studio风格停靠窗体一文中的可停靠窗体一样。


这是第一版,作者是在窗体的标题栏上绘制两个按钮。但是这两个按钮在win7中是不能显示的,Win7的非客户区已经不让绘制了。所以作者在第二版中用了一个无边框的窗体,自己绘制了标题栏和边框;但是作者没有考虑到主题问题,使得停靠窗体和主窗体的风格格格不入。

我并不是需要弄一个停靠窗体,而是需要写一个可以自动折叠成一个横条的窗体(就好像把窗体从竖直方向缩小到只有标题栏的样子)。这样一来将这个窗体作为工具窗口或者其它需要长时间显示的对话框是可以自动折叠起来以减少对屏幕区域侵占;当需要在这个窗体中进行操作时,鼠标移动进去后窗体自动展开。

只要边框的和标题栏的颜色风格和当前主题一致就可以了,关闭、最大化、最小化和其它按钮可以自己绘制一个协调的。


概括起来就是两个问题。

1、获得系统的主题,标题栏和边框的颜色和渐变风格。

2、使用获得的主题风格为无边框窗口绘制一圈边框和标题栏,不用绘制控制按钮。

希望高手们能够帮忙。



------解决方案--------------------
wpf
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • 虚心求教解决思路

    虚心求教 本人刚学.net,有好多的问题明白,求大侠帮忙解释一下这个问题,本人不胜感激。 <asp:TreeNode Text="添加" Value="添加"...

  • 【】.NET里有“关于”对话框组件吗

    【求助】.NET里有“关于”对话框组件吗? 小弟最近在用C#写东西,程序已经基本完工了,现在是想弄一个“关于”对话框,就是通常在“帮助...

  • VS2005 控件在winform下只能拖放,不能移动,该怎么解决

    VS2005 控件在winform下只能拖放,不能移动 VS2005 控件在winform下只能拖放,不能移动;在webform下直接拖放都不行.只能从工具箱里...

  • select控件解决方案

    select控件 怎样在select框中显示图片?并且选择一个图片后可以显示在文本框中。请高手指点一下,最好详细一些!有实现的代码更好!!谢谢...

  • devExpress 控件能否将其它文件转换成PDF,该怎么处理

    devExpress 控件能否将其它文件转换成PDF 1..devExpress 控件能否将其它文件转换成PDF(编程的方式自动转换)2.能否在指定位置给现...

  • 初学者求助,关于学习的方法

    菜鸟求助,关于学习的方法 我们刚开始学C#窗体控件,有哪位大虾能给提点学习这方面的建议 ------解决方案-------------------- 找...

  • 关于VS2005添加自定义控件DLL,该怎么解决

    关于VS2005添加自定义控件DLL 我在工具箱里点选择项,浏览dll文件,点确定,但是工具箱里没有显示我选择的控件 ------解决方案-------...

  • fullcalendar怎么绑定数据源

    fullcalendar如何绑定数据源 我做OA的日程安排功能,用的fullcalendar控件,第一次接触各种不会 我想让fullcalendar从绑定的数据源...

  • 求人解答窗口间传递数值有关问题

    求人解答窗口间传递数值问题 我想做的是在Form1里textbox输入字符串或者数字,然后Form2里的 label1 能够显示出来 但是在两个...

  • C# 多项目互相调用

    C# 多项目相互调用 C#的解决方案中有多个项目(WinForm) 各项目都有自定义的组件、控件、公共变量 不同项目之间怎样相互调用、使...

热门推荐: