使用 Windows 现有画笔


    画笔决定了线条的颜色、宽度和样式,样式可以是实线、点线或者虚线。画笔的默认设备环境是 BLACK_PEN 。该画笔会绘制一条宽度为1个像素的黑色线条。BLACK_PEN 是 Windows 提供的三种 ”备用画笔“ ( stock pen )的一种。另外两种分别是 WHITE_PEN 和 NULL_PEN  。NULL_PEN  表示不绘制任何图形的画笔。你也可以创建自己的画笔。


    在 Windows 程序中,使用句柄来操作画笔。Windows 头文件 WINDEF.H 定义画笔句柄的类型为 HPEN 。可以使用这个类型定义一个变量(例如 hPen ):

          HPEN  hPen ;

调用 GetStockObject 函数可以获取备用画笔的句柄。例如想使用 WHITE_PEN 的备用画笔。可以按照如下方式获取画笔句柄:

         hPen = GetStockObject ( WHITE_PEN ) ;

现在必须把该画笔选入设备环境:

         SelectObject ( hdc , hPen ) ;

现在,当前画笔变成白色的画笔。也就是在该函数调用之后,绘制的所有线条的都将使用 WHITE_PEN ,直到将另一种画笔选入设备环境或者你释放了该设备环境句柄。

     除了明确地定义 hPen 变量,还可以将 GetStockObject 调用和 SelectObject 调用组合在一条语句中:

         SelectObject  ( hdc, GetStockObject ( WHITE_PEN) ) ;

接着,如果想恢复使用 BLACK_PEN ,必须获取那个备用对象的句柄 ( BLACK_PEN ) 的句柄,同时将它选入设备环境 :

         SelectObject ( hdc, GetStockObject ( BLACK_PEN ) ) ; 

说明文档:制作类似windows画笔的程序 功能: 文件—— 新建 打开 保存 另存为 页面设置——画布大小变化 退出 编辑—— 剪切 复制 粘贴 删除选定区域(但是背景变成黑色的了?!) 查看—— 工具栏、状态栏、颜料盒的显示与隐藏 大尺寸、常规尺寸、自定义尺寸的缩放 图像—— 翻转功能实现(包括水平、垂直翻转,以及180度旋转,90与270度旋转理论上亦实现了,只是速度有些慢,只能适用于小图形) 图像反色 颜色—— 编辑颜色功能实现 帮助—— 弹出信息框 界面: 突出显示按件 鼠标移动显示坐标 使用铅笔在画布上任意绘画,且可以变化颜色 橡皮擦功能实现(橡皮擦大小的变化可以通过改变笔刷粗细后改变) 拾色器功能实现 油漆桶功能实现 直线、笔刷功能实现 屏幕输入文字 放大镜功能实现!!(——强烈注意:它又名奇异镜> <……即使用之后,所有画图功能(比如颜色反色出现,橡皮变成铅笔……填充的色块可以叠加……,O(∩_∩)O哈哈~所以使用之后,记得退出程序,重新开启……) 可以画空心或实心的矩形 可以画空心或实心的椭圆和圆 喷枪功能实现(只是在画笔变粗时,效果会有些恶心……,建议通过笔刷,选择1,然后使用) 另:支持各种快捷键,如ctrl+S/ctrl+x 等,详情请见菜单栏。 使用的API函数与ActiveX控件: API函数: GetCursorPos GetDC GetPixel RoundRect ActiveX控件: 通用对话框控件, 位于“Microsoft CommonDialog Control 6.0” 中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值