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

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

2014-09-11 23:33 7 5234 推荐指数:

查看详情

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

现在皮肤控件也很多,但每次装一堆控件,使用又繁琐。稍微研究一下内部机制,还是比较简单的。 主要会使用到下面几个消息 第一步直接覆盖WM_NCPAINT 消息进行外边框绘制。 会发现有2个问题: 1、点击右上角的系统按钮区域会出现系统按钮 2、当切换程序 ...

Wed Sep 03 01:51:00 CST 2014 0 2908
窗体皮肤实现 - 窗体客户(二)

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

Sat Sep 06 09:38:00 CST 2014 0 5065
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