win32之取画刷的方法
取画刷(HBRUSH) 的六种方法2009-- :00HBRUSH hbr;
第一种: hbr= CreateSolidBrush(RGB(,,)); //单色的画刷
第二种: hbr= (HBRUSH)GetStockObject(BLACK_BRUSH); //只能取特定颜色的画刷,如BLACK_BRUSH,GRAY_BRUSH等刷
第三种: hbr= CreatePatternBrush(HBITMAP hbmp); //得到位图画刷
第四种: hbr = CreateHatchBrush(int fnStyle, COLORREF clrref) //创建一种带阴影的画刷
第五种: hbr= CreateBrushIndirect(LOGBRUSH); //通过LOGBRUSH结构体来取画刷
typedef struct tagLOGBRUSH {
UINT lbStyle; //画刷类型
COLORREF lbColor; //颜色
LONG lbHatch; //阴影
} LOGBRUSH, *PLOGBRUSH;
第六种: hbr= HBRUSH CreateDIBPatternBrush( //通过与设备无关位图创建一个画刷
HGLOBAL hglbDIBPacked, // handle to DIB
UINT fuColorSpec // color table data
); 例如:
HBRUSH CAfdView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here
if (pWnd->GetDlgCtrlID()==IDC_STATIC1)
{
pDC->SetTextColor(RGB(,,));
pDC->SetBkColor(RGB(,,));
static HBRUSH hBrush = CreateSolidBrush(RGB(,,));
return hBrush;
}
// TODO: Return a different brush if the default is not desired
else
return hbr;
}
改变对话框背景色
HBRUSH CDqfDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
if(nCtlColor == CTLCOLOR_DLG)
{
CBrush *brush;
brush = new CBrush(RGB(,,));
return (HBRUSH)(brush->m_hObject);
}
return hbr;
}
第一种方法和第二种方法自己测试了可以使用,后面的还没有测试。
win32之取画刷的方法的更多相关文章
- iOS 画平滑曲线的方法及取音频数据的方法
源码:http://files.cnblogs.com/ios8/iOS%E5%BF%83%E7%94%B5%E5%9B%BEDemo.zip 取音频数据和画波形图的方法 ViewController ...
- [游戏模版3] Win32 画笔 画刷 图形
>_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...
- Direct2D 学习笔记(2)画刷 Brush
画刷的使用方法 需要包含的文件:<wincodec.h> 需要包含的库: "windowscodecs.lib" 资源网址: https://docs.micro ...
- VC++ win32 多线程 一边画圆一边画矩形
// WinThreadTest.cpp : Defines the entry point for the application. // #include "stdafx.h" ...
- Windows Phone开发(31):画刷
原文:Windows Phone开发(31):画刷 画刷是啥玩意儿?哈,其实画刷是用来涂鸦,真的,没骗你,至于你信不信,反正我信了. 本文通过价绍几个典型的画刷,使你明白画刷就是用来涂鸦的. 一.纯色 ...
- Unity3D-terrain brush地形画刷无法出现在Scene中,无法刷地图2
原因大概是 画刷brush 太小了,地图也太小了,没出出现. 如图,非正常状态: 解决方法: tag: terrain brush not working unity
- WPF 动画(形状、画刷)
一:形状 在WPF用户界面中,可以通过形状(Shape)来绘制直线.椭圆.矩形及一些多边形的类.通过这些基本的图像,组合成为复杂的图形. Shape类中,主要的形状有Rectangle(),Ellip ...
- WPF学习系列之八(形状,画刷和变换)
形状,画刷和变换 概述: 在许多用户界面技术中,普通控件和自定义绘图之间具有清晰的区别.通常来说,绘图特性只用于特定的应用程序--如游戏,数据可视化和物理仿真等.而WPF具有一个非常不同的原则.它 ...
- WPF中线性渐变画刷的一个小窍门
最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...
随机推荐
- 取出html中指定id的元素的内容
private void btnGet_Click(object sender, EventArgs e) { string PageUrl = "http://www.cnblogs.co ...
- spring mvc 基于注解 配置默认 handlermapping
spring mvc 是类似于 Struts 的框架.他们都有一个最主要的功能就是URL路由.URL路由能将请求与响应请求处理逻辑的类(在Struts中即是action,在spring mvc 中即是 ...
- iOS: FFmpeg的使用一
现状:现在视频直播非常的火,所以在视频直播开发中,使用的对视频进行遍解码的框架显得尤为重要了,其实,这种框架蛮多的,这次主要介绍一下FFmpeg视频播放器的集成和使用,FFmpeg是视频编解码的利器. ...
- 讨论一下TaskManager中监控磁盘性能的一些小问题
今天研究了一下命令"diskperf -Y". 我把发现Share给了同事, 原文写在了下面, 就不翻译了. ^_^ Try this command (CMD or Powe ...
- python 相似语句匹配(非机器学习)
#coding=utf-8 import xlrd import distance from sklearn.feature_extraction.text import CountVectorize ...
- 【转】javascript 中的很多有用的东西
原文:https://www.cnblogs.com/ys-ys/p/5158510.html ---------------------------------------------------- ...
- Linux磁盘扩容
Linux磁盘扩容 fdisk -l # 查看硬盘信息 lvextend -L +1G /dev/mapper/vg00-lvroot 或者 lvextend -l +%FREE /dev/mappe ...
- [Node.js] Level 6. Socket.io
6.2 Setting Up socket.io Server-Side So far we've created an Express server. Now we want to start bu ...
- Discuz常见小问题-如何发布站点公告
运营-站点公告,可以管理或添加新的公告 如果要添加要把这个终止时间设置的远一点,不然一个月之后就自动消失了 完成之后可以在首页,帖子的常规地方看到这些公告
- 流操作结束后,一定要调用close(). java有垃圾回收器, 这样做是多此一举吗?
流不单在内存中分配了空间,也在操作系统占有了资源, java的gc是能从内存中回收不使用的对象, 但对操作系统分配的资源是无能为力的, 所以就要调用close()方法来通知OS来释放这个资源.