原文:窗体皮肤实现 - 重绘窗体非客户区(一)

现在皮肤控件也很多,但每次装一堆控件,使用又繁琐。稍微研究一下内部机制,还是比较简单的。 主要会使用到下面几个消息 第一步直接覆盖WM NCPAINT 消息进行外边框绘制。 会发现有 个问题: 点击右上角的系统按钮区域会出现系统按钮 当切换程序的时候窗体会恢复默认样式。 需要处理WM NCACTIVATE 和WM NCLBUTTONDOWN 这两个消息,解决上面 个问题。 如果你是Win 或以上, ...

2014-09-02 17:51 0 2908 推荐指数:

查看详情

窗体皮肤实现 - 窗体客户(二)

第一个实现了基本处理。窗体边框的宽度有些肥大,需要进行瘦身。 实现: 1、改变外框线宽度 (WM_NCCALCSIZE) 2、改变外框样式 (WM_WINDOWPOSCHANGING) 通过 WM_NCCALCSIZE 消息可以实现目的 ...

Sat Sep 06 09:38:00 CST 2014 0 5065
窗体皮肤实现 - 窗体客户(三)

窗体边框基本的绘制和控制完成,在第二篇中主要遗留的问题。 标题区域图标和按钮没绘制 缩放时客户显示有问题 解决完下面的问题,皮肤处理基本完整。大致的效果GIF GIF中TShape的颜色表现有些问题,实际是正常的。 绘制标题区域内容 获取标题有效 ...

Fri Sep 12 07:33:00 CST 2014 7 5234
Winform窗体

系统,突然就觉得客户端好丑好丑,对于我这种强迫症晚期患者来说,界面不好看都不知道怎么写代码的,简直就是 ...

Tue Aug 16 00:17:00 CST 2016 1 19144
C# 绘制窗体客户客户要用WM_PAINT和WM_NCPAINT

窗体分为两部分:客户(Client area)和客户(Non-Client area) WM_PAINT消息、OnPaint()方法、GetDC()API函数都是处理窗体客户绘制的 而标题栏处于客户中,所以WM_PAINT消息、OnPaint()方法、GetDC()API函数都用 ...

Sat Jun 21 01:23:00 CST 2014 0 2523
窗体皮肤实现 - 实现简单Toolbar(六)

自定义皮肤很方便,基础开发的工作也是很大的。不过还好一般产品真正需要开发的并不是很多。现在比较漂亮的界面产品都会有个大大的工具条。 Toolbar工具条实现皮肤的方法还是可以使用Form的处理方案。每当重复写相同东西的时候,有时会感觉无聊。所以想简单实现个轻量级的,依葫芦画瓢进行减肥 ...

Thu Sep 25 19:02:00 CST 2014 0 2634
深入Windows窗体原理及控件技巧

之前有学MFC的同学告诉我觉得Windows的控件难以理解,就算绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解,如果你有类似的疑惑希望这篇文章可以帮你解惑。 1.Windows窗体原理 首先,如果看过Win32 SDK编程 ...

Mon May 23 11:45:00 CST 2016 0 2692
c#控件编写 (3)From的工作

窗体的工作的时候我们可以用到OnPaint来实现。而非工作的绘制有几种思路 1.直接实现WM_NCCALCSIZE消息绘制 2.把窗体修改成None状态并拦截WM_NCCALCSIZE修改工作的大小实现 3.把窗体修改成None直接做一个模拟 ...

Thu Sep 27 01:39:00 CST 2012 12 2275
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM