热情的朋友们,能否给一份画矩形的绘图函数(能填充颜色)的源程序

99jiujiu 2000-02-10 07:25:00
99jiujiu@netease.com
...全文
237 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yb 2000-02-12
  • 打赏
  • 举报
回复
你不是用VC的吗?
CDC是MFC的一个专用于绘图的类,它基于Windows的Device context(关联设备),封
装了许多绘图用WIndows API,还提供了一些比较复杂的绘图方法,如画B样曲线等。
在MFC的窗口中,你可以用GetDC等有关DC的函数取得窗口关联的CDC对象,然后就可以
使用CDC提供的功能强大的(对一般应用而言^_^)绘图方法了。
有一点要注意的是,CDC的使用有一定的规则,你可以参考一下MSDN中的说明,而且
MSDN中有许多有关的例子可以看一下。
如果你不用MFC的话,就只有用Windows API了。首先你要取得你的窗口句柄hWnd,然
后用GetDC或GetDCEx取得关联设备hDC,就可以用Rectangle来画矩形了。
颜色的填充只需要改变画刷的颜色就可以了。
99jiujiu 2000-02-11
  • 打赏
  • 举报
回复
不好意思,CDC是什么?谢谢各位朋友的关心
yb 2000-02-11
  • 打赏
  • 举报
回复
Why don't you use CDC?
aborigine 2000-02-11
  • 打赏
  • 举报
回复
你是要源程序? 去查一下计算机图形学方面的书.
通常先用Bresenham算法实现画直线函数,
对矩形的填充还是很简单的吧.
tonyhan 2000-02-11
  • 打赏
  • 举报
回复
利用上面的函数,改变画刷颜色就可以了.
kxy 2000-02-10
  • 打赏
  • 举报
回复
window API的函数 Rectangle

The Rectangle function draws a rectangle. The rectangle is outlined by using the current pen and filled by using the current brush.

BOOL Rectangle(

HDC hdc, // handle of device context
int nLeftRect, // x-coord. of bounding rectangle's upper-left corner
int nTopRect, // y-coord. of bounding rectangle's upper-left corner
int nRightRect, // x-coord. of bounding rectangle's lower-right corner
int nBottomRect // y-coord. of bounding rectangle's lower-right corner
);


Parameters

hdc

Identifies the device context.

nLeftRect

Specifies the logical x-coordinate of the upper-left corner of the rectangle.

nTopRect

Specifies the logical y-coordinate of the upper-left corner of the rectangle.

nRightRect

Specifies the logical x-coordinate of the lower-right corner of the rectangle.

nBottomRect

Specifies the logical y-coordinate of the lower-right corner of the rectangle.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The current position is neither used nor updated by Rectangle.
第1部分 基础知识   第1章 起步   1.1 Windows环境   1.1.1 Windows简史   1.1.2 Windows的方方面面   1.1.3 动态链接   1.2 Windows编程选项   1.2.1 API及内存管理模式   1.2.2 语言选择   1.2.3 编程环境   1.2.4 API文档   1.3 你的第一个Windows程序   1.3.1 字符模式   1.3.2 Windows对应程序   1.3.3 头文件   1.3.4 程序入口   1.3.5 MessageBox函数   1.3.6 编译、链接及运行   第2章Unicode简介   2.1 字符集简史   2.1.1 美国标准   2.1.2 美国以外的世界   2.1.3 扩展ASCII   2.1.4 双字节字符集   2.1.5 Unicode的解救方案   2.2 宽字符和c语言   2.2.1 char数据类型   2.2.2 更宽的字符   2.2.3 宽字符库函数   2.2.4 维护一个源代码文件   2.3 宽字符和Windows   2.3.1 Windows头文件的类型   2.3.2 Windows函数调用   2.3.3 Windows的字符串函数   2.3.4 在Windows中使用printf   2.3.5 格式化的消息框   2.3.6 国际化之于本书   第3章 窗口与消息   3.1 窗口的创建   3.1.1 系统结构概述   3.1.2 HELLOWIN程序   3.1.3 通盘考虑   3.1.4 窗口类的注册   3.1.5 窗口的创建   3.1.6 窗口的显示   3.1.7 消息循环   3.1.8 窗口过程   3.1.9 消息的处理   3.1.10 声音文件的播放   3.1.11 WM_PAINT消息   3.1.12 WM_DESTROY消息   3.2 Windows编程中的若干难点   3.2.1 究竟是谁调用谁   3.2.2 队列消息和非队列消息   3.2.3 速战速决   第4章 文本输出   4.1 绘制和重绘   4.1.1 WM_PAINT消息   4.1.2 有效矩形和无效矩形   4.2 GDI简介   4.2.1 设备环境   4.2.2 获取设备环境句柄:方法一   4.2.3 绘制信息结构   4.2.4 获取设备环境句柄:方法二   4.2.5 TEXTOUT函数详解   4.2.6 系统字体   4.2.7 字符大小   4.2.8 文本尺寸的度量   4.2.9 文本的格式化   4.2.10 综合使用   4.2.11 SYSMETSl.C窗口过程   4.2.12 空间不够   4.2.13 客户区的尺寸   4.3 滚动条   4.3.1 滚动条的范围和位置   4.3.2 滚动条消息   4.3.3 加入滚动条的SYSMET   4.3.4 程序的绘制代码的结构   4.4 效果更好的滚动   4.4.1 滚动条信息函数   4.4.2 最远可以卷动到哪里?   4.4.3 新的SYSMETS   4.4.4 可我不想用鼠标   第5章 绘图基础   5.1 GDI的结构   5.1.1 GDI原理   5.1.2 GDI函数调用   5.1.3 GDI的基本图形   5.1.4 其他   5.2 设备环境   5.2.1 获取设备环境句柄   5.2.2 获取设备环境的信息   5.2.3 DEVCAPSl程序   5.2.4 设备的尺寸   5.2.5 色彩ABC   5.2.6 设备环境属性   5.2.7 保存设备环境   5.3 点和线的绘制   5.3.1 设定像素   5.3.2 直线   5.3.3 边框绘制函数   5.3.4 贝塞尔样条曲线   5.3.5 使用现有笔   5.3.6 创建、选择和删除笔   5.3.7 填充空隙   5.3.8 绘图模式   5.4 绘制填充区域   5.4.1 Polygon函数和多边形填充模式   5.4.2 用填充内部   5.5 GDI映射模式   5.5.1 设备坐标和逻辑坐标   5.5.2 设备坐标系统   5.5.3 视口和窗口   5.5.4 使用MMTEXT   5.5.5 度量映射模式   5.5.6 自定义的映射模式   5.5.7 WHATSIZE程序   5.6 矩形、区域和剪裁   5.6.1 处理矩形   5.6.2 随机矩形   5.6.3 建立和绘制区域   5.6.4 矩形与区域的剪裁   5.6.5 CLOVER程序   第6章 键盘   6.1 键盘基础   6.1.1 忽略键盘   6.1.2 谁获得了焦点?   6.1.3 队列和同步   6.1.4 击键和字符   6.2 击键消息   6.2.1 系统键击和非系统键击   6.2.2 虚拟键代码   6.2.3 1param信息   6.2.4 转义状态   6.2.5 使用击键消息   6.2.6 为SYSMETS加上键盘处理功能   6.3 字符消息   6.3.1 四类字符消息   6.3.2 消息排序   6.3.3 控制字符的处理   6.3.4 死字符消息   6.4 键盘消息和字符集   6.4.1 KEYVIEW1程序   6.4.2 非英语键盘问题   6.4.3 字符集和字体   6.4.4 Unicode解决方案   6.4.5 TrueType字体和大字体   6.5 插入符号(不是光标)   6.5.1 一些关于插入符号的函数   6.5.2 TYPER程序   第7章 鼠标   7.1 鼠标的基础知识   7.1.1 一些基本术语   7.1.2 鼠标的复数形式是什么?   7.2 客户区鼠标消息   7.2.1 简单的鼠标处理示例   7.2.2 处理Shift键   7.2.3 鼠标双击   7.3 非客户区鼠标消息   7.3.1 击中测试消息   7.3.2 消息引发消息   7.4 程序中的击中测试   7.4.1 一个假想的例子   7.4.2 一个简单的程序   7.4.3 使用键盘模仿鼠标操作   7.4.4 在CHECKER中增加键盘接口   7.4.5 在击中测试中使用子窗口   7.4.6 CHECKER程序中的子窗口   7.4.7 子窗口和键盘   7.5 捕获鼠标   7.5.1 设计一个矩形   7.5.2 捕获的解决方案   7.5.3 BLOKOUT2程序   7.6 鼠标的滚轮   第8章 计时器   8.1 计时器的基本知识   8.1.1 系统和计时器   8.1.2 计时器消息不是异步的   8.2 使用计时器的三种方法   8.2.1 方法一   8.2.2 方法二   8.2.3 方法三   8.3 使用计时器作为时钟   8.3.1 数字时钟   8.3.2 获取当前时间   8.3.3 显示数字和冒号   8.3.4 考虑国际化   8.3.5 模拟时钟   8.4 在状态报告上使用计时器   第9章 子窗口控件   9.1 按钮类   9.1.1 创建子窗口   9.1.2 子窗口传递信息给父窗口   9.1.3 父窗口传递信息给子窗口   9.1.4 按钮   9.1.5 复选框   9.1.6 单选按钮   9.1.7 组合框   9.1.8 改变按钮文本   9.1.9 可见的按钮和启用的按钮   9.1.10 按钮和输入焦点   9.2 控件和颜色   9.2.1 系统颜色   9.2.2 按钮的颜色   9.2.3 WMCTLCOLORBTN消息   9.2.4 自绘按钮   9.3 静态类   9.4 滚动条类   9.4.1 COLORS1程序   9.4.2 自动键盘接口   9.4.3 窗口子类   9.4.4 背景着色   9.4.5 给滚动条和静态文本着色   9.5 编辑类   9.5.1 编辑类的样式   9.5.2 编辑控件的通知消息   9.5.3 使用编辑控件   9.5.4 传递给编辑控件的消息   9.6 列表框类   9.6.1 列表框的样式   9.6.2 向列表框中添加字符串   9.6.3 项目的选择和提取   9.6.4 接收来自列表框的消息   9.6.5 简单的列表框程序   9.6.6 列出文件   9.6.7 Windows的HEAD程序   第10章 菜单和其他资源   10.1 图标、鼠标指针、字符串和自定义资源   10.1.1 向程序添加图标   10.1.2 获得图标的句柄   10.1.3 在应用程序中使用图标   10.1.4 使用自定义鼠标指针   10.1.5 字符串资源   10.1.6 自定义资源   10.2 菜单   10.2.1 和菜单有关的概念   10.2.2 菜单结构   10.2.3 定义菜单   10.2.4 在程序中引用菜单   10.2.5 菜单和消息   10.2.6 范例程序   10.2.7 菜单设计中的规范   10.2.8 定义菜单的繁琐方式   10.2.9 浮动弹出菜单   10.2.1 0使用系统菜单   10.2.1 1改变菜单   10.2.1 2其他菜单命令   10.2.1 3菜单的另类用法   10.3 键盘加速键   10.3.1 为什么你应该使用键盘加速键   10.3.2 指定加速键的一些规则   10.3.3 加速键表   10.3.4 加载加速键表   10.3.5 翻译按键   10.3.6 接收加速键消息   10.3.7 带有菜单和加速键的POPPAD程序   10.3.8 启用菜单项   10.3.9 处理菜单项   第11章 对话框   11.1 模态对话框   11.1.1 创建一个About对话框   11.1.2 对话框及其模板   11.1.3 对话框过程   11.1.4 激活对话框   11.1.5 主题变换   11.1.6 更复杂的对话框   11.1.7 对话框控件的应用   11.1.8 OK和Cancel按钮   11.1.9 避免全局变量   11.1.1 0Tab停靠和选项组   11.1.1 1在对话框上绘图   11.1.1 2关于对话框的其他函数.   11.1.1 3定义程序自己的控件   11.2 非模态对话框   11.2.1 模态与非模态对话框的区别   11.2.2 新的COLORS程序   11.2.3 HEXCALC:窗口还是对话框?   11.3 公用对话框   11.3.1 完善POPPAD   11.3.2 Unicode文件的读/写操作   11.3.3 改变字体   11.3.4 查找和替换   11.3.5 只调用一个函数的Windows程序   ……   第Ⅱ部分 关于图的那些事儿   第Ⅲ部分 高级主题
作为Microsoft 32位平台的应用程序编程接口, Win32 API是从事Windows应用程序开发所必备的。 首先对Win32 API函数做完整的概述;然后收录五大类函数: 窗口管理、图形设备接口、系统服务、国际特性以及网络服务; 在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。 控件与消息函数 共91个函数 硬件与系统函数 共98个函数 设备场景函数 共73个函数 绘图函数 共105个函数 位图、图标和光栅运算函数 共39个函数 菜单函数 共37个函数 文本和字体函数 共41个函数 打印函数 共66个函数 文件处理函数 共118个函数 进程和线程函数 共40个函数 Windows消息函数 共11个函数 网络函数 共14个函数 目 录 第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 …………………………………………………………………………1 1.3 综述………………………………………………………………………………………11 第二章 窗口管理函数(Windows Control Function) ……………………………………13 2.1 易用特性函数(Accessibility Features)…………………………………………13 2.2 按钮函数(Button)……………………………………………………………………20 2.3 插入标记(^)函数(Caret)…………………………………………………………21 2.4 组合框函数(Combo box) ……………………………………………………………24 2.5 通用对话框函数(Common Dialog Box) ……………………………………………25 2.6 标函数(Cursor)………………………………………………………………………36 2.7 对话框函数(Dialog Box)……………………………………………………………40 2.8 编辑控制函数(Edit Control)………………………………………………………54 2.9 图标函数(Icon)………………………………………………………………………54 2.10 键盘加速器函数(Keyboard Accelerator)……………………………………… 61 2.11 键盘输入函数(Keyboard InPut) …………………………………………………63 2.12 列表框函数(List box) ……………………………………………………………75 2.13 菜单函数(Menu) ……………………………………………………………………76 2.14 消息和消息队列函数(Message and Message Queue)……………………………90 2.15 鼠标输入函数(Mouse Input) ……………………………………………………100 2.16 多文档接口函数(Multiple Document Interface) ……………………………103 2.17 资源函数(Resource)………………………………………………………………105 2.18 滚动条函数(Scroll Bar)…………………………………………………………113 2.19 窗口函数(Window)…………………………………………………………………119 2.20 窗口类函数(Window Class)………………………………………………………144 2.21 窗口过程函数(Window Procedure)………………………………………………150 2.22 窗口属性函数(Window Property) ………………………………………………152 第三章 图形设备接口函数(Graphic Device Interface Function) …………………155 3.1 位图函数(Bitmap) …………………………………………………………………155 3.2 笔刷函数(Brush)……………………………………………………………………171 3.3 剪切函数(Clipping) ………………………………………………………………176 3.4 颜色函数(Color)……………………………………………………………………179 3.5 坐标空间与变换函数(Coordinate Space Transformation)……………………186 3.6 设备环境函数(Device Context) …………………………………………………195 3.7 填充形态函数(Filled shape) ……………………………………………………211 3.8 字体和正文函数(Font and Text)…………………………………………………215 3.9 ICM 2.0函数 …………………………………………………………………………238 3.10 线段和曲线函数(Line and Curve)………………………………………………295 3.11 图元文件函数(Metafile)…………………………………………………………300 3.12 多显示器函数(Multiple Display Monitors) …………………………………311 3.13 绘图函数函数(Painting and Drawing)…………………………………313 3.14 路径函数(Path)……………………………………………………………………328 3.15 函数(Pen) ……………………………………………………………………332 3.16 打印及打印假脱机程序函数(Printing and Print Spooler)…………………334 3.17 矩形函数(Rectangle) ……………………………………………………………371 3.18 区域函数(Region)…………………………………………………………………374 第四章 系统服务函数(System Service Function) ……………………………………383 4.1 访问控制函数(Access Control) …………………………………………………383 4.2 原子函数(Atom) ……………………………………………………………………406 4.3 客户/服务器访问控制函数(Client/Server Access Control) ………………409 4.4 剪贴板函数(Clipboard)……………………………………………………………431 4.5 通信函数(Communication)…………………………………………………………436 4.6 控制台函数(Console)………………………………………………………………444 4.7 数据解压库函数(Data Decompression Library) ………………………………463 4.8 调试函数(Debugging)………………………………………………………………466 4.9 设备输入输出函数(Device Input and Output)…………………………………472 4.10 动态数据交换函数(Dynamic Data Exchange) …………………………………474 4.11 动态数据交换管理函数(Dynamic Data Exchange Management)………………476 4.12 动态链接库函数(Dynamic-Link Library)………………………………………489 4.13 错误函数(Error) …………………………………………………………………496 4.14 事件日志函数(Event Logging) …………………………………………………499 4.15 文件函数(File)……………………………………………………………………503 4.16 文件安装库函数(File Installation Library) ………………………………542 4.17 文件映射函数(File Mapping)……………………………………………………546 4.18 文件系统函数 File System)………………………………………………………551 4.19 句柄和对象函数(Handle and Object)………………………………………………556 4.20 挂钩函数(Hook)………………………………………………………………………560 4.21 ImageHlp函数…………………………………………………………………………572 4.22 大整数操作函数(Iarge Integer Operations)……………………………………594 4.23 低层访问控制函数(Low-Level Access Control)………………………………596 4.24 LSAPI函数 …………………………………………………………………………617 4.25 邮槽函数(Mailslot)………………………………………………………………622 4.26 内存管理函数(Memory Management) ……………………………………………623 4.27 管道函数(Pipe) …………………………………………………………………655 4.28 电源管理函数(Power Management) …………………………………………… 663 4.29 进程和线程函数(Process and Thread)…………………………………………666 4.30 注册表函数(Registry)……………………………………………………………700 4.31 字符串操作函数(String Manipulation)……………………………………… 724 4.32 结构化异常处理函数(Structured Exception Handling) ……………………742 4.33 同步函数(Synchronization) ……………………………………………………745 4.34 系统信息函数(System Information)……………………………………………766 4.35 系统消息函数(System Message)…………………………………………………780 4.36 系统关机函数(System Shutdown) ………………………………………………781 4.37 磁带备份函数(Tape Backup) ……………………………………………………783 4.38 时间函数(Time)……………………………………………………………………789 4.39 计时器函数(Timer) ………………………………………………………………795 4.40 工具帮助函数(Tool Help) ………………………………………………………796 4.41 窗口站和桌面函数(Window Station and Desktop)……………………………799 4.42 Windows NT 4.0访问控制函数(Window NT 4.0 Access-Control)……………808 4.43 WinTrust函数(WinTrust)…………………………………………………………814 第五章 国际特性函数(International Peatures Punction)时性…………………………815 5.1 输入方法编辑函数(Input Method Editor)…………………………………………815 5.2 国家语言支持函数(National Language Support)………………………………… 828 5.3 Unicode和字符集函数(Unicode and Character Set)……………………………… 843 第六章 网络服务函数(Networding Service Function)……………………………………849 6.1 数据链路控制函数(DLC)………………………………………………………………849 6.2 网络函数(Net)…………………………………………………………………………849 6.3 NetBIOS函数……………………………………………………………………………896 6.4 网络DDE函数(Networking DDE)……………………………………………………897 6.5 RAS服务器管理函数(RAS Server Administration)………………………………901 6.6 远程访问服务函数(Remote Access Administration)………………………………910 6.7 服务函数(Service)……………………………………………………………………929 6.8 Windows网络函数(Windows Networking)……………………………………………930 附录1 如何在VB中调用DLL API ……………………………………………………………945 1 DLL API的声明……………………………………………………………………………945 2 DLL API的调用……………………………………………………………………………947 附录2 在Delphi中直接调用Windows API…………………………………………………953
该版本提供了下册详细目录可以快速查阅(当然已经提供详细书签) 基本信息 原书名: Programming Windows (Fifth Edition) 原出版社: Microsoft Press 作者: (美)Charles Petzold 译者: 北京博彦科技发展有限责任公司 丛书名: Microsoft 程序设计系列 出版社:北京大学出版社 ISBN:730104187X 上架时间:2004-11-16 出版日期:2004 年9月 页码:1376 版次:1-8 内容简介    如果对Windows开发有什么问题的话,请翻阅PetZold的著作吧。在《Window程序设计》(第5版)中,这位杰出的“Windows先锋奖”(Windows Pioneer Award)获得者根据最新的Windows操作系统权威技术修订了他的经典著作——再一次演示了基本的Win32程序设计的API核心内容。本书的内容包括:    ** 基本内容——输入、输出和对话框    ** Unicode概述    ** 图形——绘图、文本和字体、位图和元文件    ** 内核和打印机    ** 声音和音乐    ** 动态链接库    ** 多任务和多线程    ** 多文档界面    ** Internet和 Intranet的程序设计    其中采用的大多是具有代表性的示例,这本Petzold著作为使用 Windows 95、Windows 98或 Windows NT的各级windows程序员提供了最基本的参考和指导。没有经验的开发人员也可以从中获取大量的新知识。       作译者 本书提供作译者介绍    Charles Petzold从 1984年开始编写个人计算机程序,从 1985年开始编写 Microsoft Windows程序。他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于 Windows程序设计的杂志论文。从 1986年到 1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面。 《Windows 程序设计》由微软出版社在1988年首次出版,后来被认为是这方面最好的导论性读本。在1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《WindowcMagazine》和Microsoft公司授予Windows Pioneer奖, 以表彰他对 Microsoft Windows的成功做出的贡献. 在1999年秋天,微软出版社将出版Charles Petzold面向普通读者的第一本书. 暂时命名为 《Code:The Hidden Language of Computer Hardware and Software》, 这本书专门介绍数字信息的本质以及计算机处理数字信息的方式. 作者: Charles Petzold 1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《Window Magazine》和Microsoft公司授予Windows Pioneer奖,以表彰他对 Microsoft Windows的成功做出的贡献。 Charles Petzold从1984年开始编写个人计算机程序,从1985年开始编写 Microsoft Windows程序。他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于Windows程序设计的杂志论文。从1986年到1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面。 [同作者作品] Microsoft c#Windows程序设计(上下册) Microsoft Windows程序设计——Visual Basic.NET语言描述 Windows 3D编程(英文影印版) 目录 第一部分 基础知识 第一章 开始 l.1 windows环境 1.1.1 windows 简史 1.1.2 windows方面 1.1.3 动态链接 1.2 windows编程选项 1.2. 1 api和内存模式 1.2.2 语言选项 l.2. 3 编程环境 1.2.4 api文档 1.3 编写一个windows程序 1.3.1 字符模式(character-mode)模型 1.3.2 windows 等价程序 1.3.3 头文件 1.3.4 程序入口点 1.3.5 messagebox 函数 1.3.6 编译、链接和运行 第二章 unicode简介 2.1 字符集简史 . 2.1.1 美国标准 2.1.2 国际方面 2.1.3 扩展ascll 2.1.4 双字书字符集 2.1.5 unicode解决方案 2.2 宽字符和c 2.2.1 char数据类型 2. 2. 2 宽字符 2.2.3 宽字符库函数 2.2.4 维护单一源代码 2.3 宽字符和windows 2.3.1 windows 头文件类型 2.3.z windows 函数调用 2.3.3 windows的字符串函数 2.3.4 在 windows中使用 printf 2.3.5 格式化消息框 2.3.6 本书与国际化 第三章 窗口和消息 3.1 自己的窗口 3. 1.l 总体结构 3.1.2 hellowin程序 3. 1.3 总体考虑 3.1.4 注册商口类 3.1.5 创建窗口 3.1.6 显示窗口 3.1.7 消息循环 3.1.8 窗口过程 3.1.9 处理消息 3.1.10 播放声音文件 3.1.11 wm_paint消息 3.1.12 wm_destroy消息 3.2 windows编程的难点 3.2.l 别调用我,我会调用您 3.2.2 进队消息与不进队消息 3.2. 3 行动迅速 第四章 输出文本 4.l 绘制和刷新 4.1.1 wm_paint消息 4. 1.2 有效短形和无效矩形 4.2 gdi简介 4.2.l 设备描述表 4.2.2 获取设备描述表句柄:方法一 4.2.3 绘图信息结构 4.2.4 获取设备描述表句柄:方法二 4. 2. 5 textout:细节 4.2.6 系统字体 4.2.7 字符大小 4.2. 8 文本尺寸:细节 4.2.9 格式化文本 4. 2.10 综合使用 4.2.11 sysments1.c窗口过程 4.2.12 空间不够 4. 2.13 客户区的大小 4.3 滚动条 4.3.l 滚动条的范围和位置 4.3.2 滚动条消息 4.3.3 在sysmets中添加滚动功能 4.3.4 绘图程序的组 4.4 建立更好的滚动 4.4.l 滚动条信息函数 4.4.2 滚动范围 4.4.3 新sysmets 4.4. 4 不用鼠标怎么办 第五章 图形基础 5. 1 gdi的结构 5.1. 1 gdi原理 5.1.2 gdi函数调用 5.1.3 gdi日元 5. 1. 4 其他方面 5.2 设备描述表 5.2.l 获取设备描述表句柄 5.2.2 获取设备描述表信息 5.2.3 devcaps1程序 5.2.4 设备的大小 5.2.5 关于色彩 5.2.6 设备描述表属性 5.2.7 保存设备描述表 5.3 点和线 5.3.l 写像素 5.3.2 直线 5.3.3 边界框函数 5. 3.4 贝塞尔样条 5.3.5 使用现有笔(stock pens) 5.3.6 笔的创建、选择和删除 5.3.7 填充空隙 5.3.8 绘图方式 5.4 绘制填充区域 5.4.1 polygon函数和多边形填充方式 5.4.2 用填充内部 5.5 gdi映射方式 5.5.l 设备坐标和逻辑坐标 5.5.2 设备坐标系 5.5.3 机口和窗口 5.5.4 处理mm_text 5.5. 5 “度量”映射方式 5.5.6 “自作主张的”映射方式 5.5.7 whatsize 程序 5.6 短形、区域和剪裁 5.6.1 矩形函数 5.6.2 随机短形 5.6.3 创建和绘制区域 5. 6.4 短形与区域的剪裁 5.6.5 clover程序 第六章 键盘 6.1 键盘基础 6.1.1 忽略键盘 6.1.2 谁获得了焦点 6.1.3 队列和同步 6.1.4 击键和字符 6. 2 击键消息 6.2.1 系统击键与非系统击键 6.2.2 虚拟键码 6.2.3 iparam信息 6.2.4 换档状态 6.2.5 使用击健消息 6.2.6 为键盘增强sysmets 6.3 字符消息 6.3.1 四类字符消息 6.3.2 消息顺序 6.3.3 处理控制字符 6.3.4 死字符消息 6.4 键盘消息和字符集 6.4.1 keyviewi程序 6.4.2 外语键盘问题 6.4.3 字符集和字体 6.4.4 unicode怎么样? 6.4.5 truetype和大字体 6.5 插入符(不是光标) 6.5.l 插入符函数 6.5.2 typer 程序 第七章 鼠标 7.1 鼠标基础 7.1.1 一些简单的定义 7.2 客户区鼠标消息 7.2.l 简单的鼠标处理:一个例子 7.2.2 处理sha键 7.2.3 双击鼠标键 7.3 非客户区鼠标消息 7.3.1 命中测试消息 7.3.2 从消息产生消息 7.4 程序中的命中测试 7. 4. 1 一个假想的例子 7.4.2 示例程序 7.4.3 使用键盘仿真鼠标 7.4. 4 在checker中添加键盘接口 7.4. 5 将于窗口用于命中测试 7.4.6 checker中的子窗口 7.4.7 子窗口和键盘 7.5 捕获鼠标 7.5.1 设计矩形 7.5.2 捕获的解决方案 7.5.3 blokout2程序 7.6 鼠标轮 7.6.1 后会有期 第八章 计时器 8.1 计时器基础 8.1.1 系统和计时器 8.1.2 计时器消息不是异步的 8.2 计时器的使用:三种方法 8.2.1 方法一 8.2.2 方法二 8.2.3 方法三 8.3 计时器用于时钟 8.3.1 构造数字时钟 8.3.2 获取当前时间 8.3.3 显示数字和冒号 8.3.4 国际化 8.3.5 构造模拟时钟 8.4 为状态报告使用计时器 第九章 子商口控制 9.1 按钮类 9.1.1 创建于窗口 9.1.2 子窗口向父窗口发送消息 9.1.3 父窗口向子窗口发送消息 9.1.4 下压按钮 9.1.5 复选框 9.1. 6 单选按钮 9.1.7 分组框 9.1.8 更改按钮文本 9.1.9 可见的和启用的按钮 9.1.10 按钮和输入焦点 9.2 控制与颜色 9.2.1 系统颜色 9.2.2 按钮颜色 9.2.3 wm_ctlcolorbtn消息 9.2.4 拥有者给制按钮 9.3 静态类 9.4 滚动条类 9. 4. 1 colors1程序 9. 4.2 自动键盘接口 9. 4. 3 窗口子类化 9.4.4 给背景着色 9.4.5 给滚动条和静态文本着色 9.5 编辑类 9.5.l 编辑类风格 9.5.2 编辑控制通知 9.5.3 使用编辑控制 9.5.4 发送给编辑控制的消息 9.6 列表框类 9.6.1 列表框风格 9.6.2 将串放人列表框 9.6.3 选择和获取项 9.6.4 接收来自列表框的消息 9.6.5 一个简单的列表框应用程序 9.6.6 文件列表 9.6.7 windows的head程序 第十章 菜单及其他资源 10.l 图标、光标、字符串和定制资源 10.1.1 将图标添加到程序 10.1.2 获取图标句柄 10.1.3 在程序中使用图标 10.1.4 使用自定义光标 10.1.5 字符串资源 10.1.6 定制资源 10.2 菜单 10.2.1 菜单概念 10.2.2 菜单结构 10.2.3 定义菜单 10.2.4 在程序中引用菜单 10.2. 5 菜单和消息 10.2.6 示例程序 10.2.7 菜单设计规范 10.2.8 定义菜单的复杂方法 10.2.9 浮动弹出式菜单 10.2.10 使用系统菜单 10. 2.11更改菜单 10.2.12 其他菜单命令 10.2.13 创建菜单的非正规方法 10.3 键盘加速键 10.3.1 为什么要使用加速键 10.3.2 安排加速键的几条规则 10.3.3 加速健表 10.3.4 加载加速键表 10.3.5 键盘代码转换 10.3.6 接收加速键消息 10.3.7 菜单与加速键应用程序poppad 10.3.8 启用菜单项 10.3.9 处理菜单项 第十一章 对话框 11.1 模态对话框 11.1.1 创建about对话框 11.1.2 对话框及其模板 11.1.3 对话框过程 11.1.4 激活对话框 11.1.5 不同的主题 11.l.6 更复杂的对话框 11.1.7 使用对话框控制 11.l.8 ok和cancel按钮 11.1.9 避免全局变量 11.1.10 tab停留位和组 11.1.11 在对话框上绘图 11.1.12 将其他函数用于对话框 11.1.13 定义自己的控制 11.2 非模态对话框 11.2.l 模态对话框与非模态对话框的区别 11.2.2 新的 colors程序 11.2.3 hexcalc:窗口还是对话框? 11.3 通用对话框 11.3.l 增强poppad 11.3.2 unicode 文件 i/o 11.3.3 更改字体 11.3.4 查找与替换 11.3.5 只调用一个函数的windows程序 第十二章 剪贴板 12.1 剪贴板的简单使用 12.1.1 标准剪贴板数据格式 12.1.2 内存分配 12.1.3 将文本传送到剪贴板 12.1.4 从剪贴板上获取文本 12.1.5 打开和关闭剪贴板 12.1.6 剪贴板和unicode 12.2 复杂的剪贴板用法 12.2.l 利用多个数据项 12.2.2 延迟生成 12.2.3 私有数据格式 12.3 实现剪贴极查看器 12.3.1 剪贴板查看器链 12.3.2 剪贴板查看器的函数和消息 12.3.3 一个简单的剪贴板查看器
第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 …………………………………………………………………………1 1.3 综述………………………………………………………………………………………11 第二章 窗口管理函数(Windows Control Function) ……………………………………13 2.1 易用特性函数(Accessibility Features)…………………………………………13 2.2 按钮函数(Button)……………………………………………………………………20 2.3 插入标记(^)函数(Caret)…………………………………………………………21 2.4 组合框函数(Combo box) ……………………………………………………………24 2.5 通用对话框函数(Common Dialog Box) ……………………………………………25 2.6 标函数(Cursor)………………………………………………………………………36 2.7 对话框函数(Dialog Box)……………………………………………………………40 2.8 编辑控制函数(Edit Control)………………………………………………………54 2.9 图标函数(Icon)………………………………………………………………………54 2.10 键盘加速器函数(Keyboard Accelerator)……………………………………… 61 2.11 键盘输入函数(Keyboard InPut) …………………………………………………63 2.12 列表框函数(List box) ……………………………………………………………75 2.13 菜单函数(Menu) ……………………………………………………………………76 2.14 消息和消息队列函数(Message and Message Queue)……………………………90 2.15 鼠标输入函数(Mouse Input) ……………………………………………………100 2.16 多文档接口函数(Multiple Document Interface) ……………………………103 2.17 资源函数(Resource)………………………………………………………………105 2.18 滚动条函数(Scroll Bar)…………………………………………………………113 2.19 窗口函数(Window)…………………………………………………………………119 2.20 窗口类函数(Window Class)………………………………………………………144 2.21 窗口过程函数(Window Procedure)………………………………………………150 2.22 窗口属性函数(Window Property) ………………………………………………152 第三章 图形设备接口函数(Graphic Device Interface Function) …………………155 3.1 位图函数(Bitmap) …………………………………………………………………155 3.2 笔刷函数(Brush)……………………………………………………………………171 3.3 剪切函数(Clipping) ………………………………………………………………176 3.4 颜色函数(Color)……………………………………………………………………179 3.5 坐标空间与变换函数(Coordinate Space Transformation)……………………186 3.6 设备环境函数(Device Context) …………………………………………………195 3.7 填充形态函数(Filled shape) ……………………………………………………211 3.8 字体和正文函数(Font and Text)…………………………………………………215 3.9 ICM 2.0函数 …………………………………………………………………………238 3.10 线段和曲线函数(Line and Curve)………………………………………………295 3.11 图元文件函数(Metafile)…………………………………………………………300 3.12 多显示器函数(Multiple Display Monitors) …………………………………311 3.13 绘图函数函数(Painting and Drawing)…………………………………313 3.14 路径函数(Path)……………………………………………………………………328 3.15 函数(Pen) ……………………………………………………………………332 3.16 打印及打印假脱机程序函数(Printing and Print Spooler)…………………334 3.17 矩形函数(Rectangle) ……………………………………………………………371 3.18 区域函数(Region)…………………………………………………………………374 第四章 系统服务函数(System Service Function) ……………………………………383 4.1 访问控制函数(Access Control) …………………………………………………383 4.2 原子函数(Atom) ……………………………………………………………………406 4.3 客户/服务器访问控制函数(Client/Server Access Control) ………………409 4.4 剪贴板函数(Clipboard)……………………………………………………………431 4.5 通信函数(Communication)…………………………………………………………436 4.6 控制台函数(Console)………………………………………………………………444 4.7 数据解压库函数(Data Decompression Library) ………………………………463 4.8 调试函数(Debugging)………………………………………………………………466 4.9 设备输入输出函数(Device Input and Output)…………………………………472 4.10 动态数据交换函数(Dynamic Data Exchange) …………………………………474 4.11 动态数据交换管理函数(Dynamic Data Exchange Management)………………476 4.12 动态链接库函数(Dynamic-Link Library)………………………………………489 4.13 错误函数(Error) …………………………………………………………………496 4.14 事件日志函数(Event Logging) …………………………………………………499 4.15 文件函数(File)……………………………………………………………………503 4.16 文件安装库函数(File Installation Library) ………………………………542 4.17 文件映射函数(File Mapping)……………………………………………………546 4.18 文件系统函数 File System)………………………………………………………551 4.19 句柄和对象函数(Handle and Object)………………………………………………556 4.20 挂钩函数(Hook)………………………………………………………………………560 4.21 ImageHlp函数…………………………………………………………………………572 4.22 大整数操作函数(Iarge Integer Operations)……………………………………594 4.23 低层访问控制函数(Low-Level Access Control)………………………………596 4.24 LSAPI函数 …………………………………………………………………………617 4.25 邮槽函数(Mailslot)………………………………………………………………622 4.26 内存管理函数(Memory Management) ……………………………………………623 4.27 管道函数(Pipe) …………………………………………………………………655 4.28 电源管理函数(Power Management) …………………………………………… 663 4.29 进程和线程函数(Process and Thread)…………………………………………666 4.30 注册表函数(Registry)……………………………………………………………700 4.31 字符串操作函数(String Manipulation)……………………………………… 724 4.32 结构化异常处理函数(Structured Exception Handling) ……………………742 4.33 同步函数(Synchronization) ……………………………………………………745 4.34 系统信息函数(System Information)……………………………………………766 4.35 系统消息函数(System Message)…………………………………………………780 4.36 系统关机函数(System Shutdown) ………………………………………………781 4.37 磁带备份函数(Tape Backup) ……………………………………………………783 4.38 时间函数(Time)……………………………………………………………………789 4.39 计时器函数(Timer) ………………………………………………………………795 4.40 工具帮助函数(Tool Help) ………………………………………………………796 4.41 窗口站和桌面函数(Window Station and Desktop)……………………………799 4.42 Windows NT 4.0访问控制函数(Window NT 4.0 Access-Control)……………808 4.43 WinTrust函数(WinTrust)…………………………………………………………814 第五章 国际特性函数(International Peatures Punction)时性…………………………815 5.1 输入方法编辑函数(Input Method Editor)…………………………………………815 5.2 国家语言支持函数(National Language Support)………………………………… 828 5.3 Unicode和字符集函数(Unicode and Character Set)……………………………… 843 第六章 网络服务函数(Networding Service Function)……………………………………849 6.1 数据链路控制函数(DLC)………………………………………………………………849 6.2 网络函数(Net)…………………………………………………………………………849 6.3 NetBIOS函数……………………………………………………………………………896 6.4 网络DDE函数(Networking DDE)……………………………………………………897 6.5 RAS服务器管理函数(RAS Server Administration)………………………………901 6.6 远程访问服务函数(Remote Access Administration)………………………………910 6.7 服务函数(Service)……………………………………………………………………929 6.8 Windows网络函数(Windows Networking)……………………………………………930 附录1 如何在VB中调用DLL API ……………………………………………………………945 1 DLL API的声明……………………………………………………………………………945 2 DLL API的调用……………………………………………………………………………947 附录2 在Delphi中直接调用Windows API…………………………………………………953

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧