Windows c++面向对象与可视化编程的基础知识
1.Windows的程序设计语言:Visual C++,Visual Basic ,Visual c#都是“面向对象”的程序设计语言;
2.Windows的程序设计的对象:是Windows的规范部件,窗口,菜单,对话框,程序模块;对象特征:具有规范形态和操作模式。
3.思想总结:编写Windows程序相当一部分工作是在创建对象和为对象属性赋值。
4.编程方法:传统编写法–>API 交互式方法–>MFC
5. Windows API的功能:
- 为应用程序提供Windows系统特殊函数及数据结构
- Win应用程序可以利用标准大量API函数调用系统功能
- 是Win系统与Win应用程序间的标准程序接口
6.Windows API函数的功能:
- 窗口管理函数实现窗口的创建、移动和修改功能
- 图形设备(GDI)函数:实现与设备无关的图形操作功能
- 系统服务函数:实现与操作系统有关的多种功能
7.Windows API函数编写Windows应用程序的几个名词:
- 窗口
- 事件驱动:Windows程序设计是针对事件或消息产生驱动运行处理函数的过程;
- 句柄:PVOID型(void*的别名)的数据一个4字节长的数值,用于标识应用程序中不同的对象和同类对象中不同的实例
- 消息:描述事件发生的信息(如按下鼠标或键盘)
typedef struct tagMSG
{HWND hwnd; 窗口句柄,为null,则可检索所有驻留在消息队列中的消息
UINT message;消息值,由Windows.h头文件中的宏定义来标识
WPARAM wParam; 包含有关消息的附加信息,不同消息其值有所不同
LPARAM lParam;
DWORD time; 指定消息送至队列的时间
*POINT* pt;指定消息发送时屏幕光标的位置, 其数据类型POINT也是一个结构体
}MSG;
typedef struct tagPOINT
{LONG x;
LONG y;
} *POINT*;
8.消息类型:
- BM 表示按钮控制消息
- CB 表示组合框控制消息
- DM 表示默认下压式按钮控制消息
- EM 表示编辑控制消息
- LB 表示列表框控制消息
- SBM 表示滚动条控制消息
- WM 表示窗口消息
9. Windows应用程序常用的消息
WM_LBUTTONDOWN:产生单击鼠标左键的消息;
WM_KEYDOWN:按下一个非系统键(系统键是指实现系统操作的组合键)时产生的消息(wParam:按下键的虚拟键码,用以标识按下或释放的键)
WM_ CHAR:按下一个非系统键时产生的消息(wParam 为按键的ASCII码)
WM_CREATE:由CreateWindow函数发出的消息
WM_CLOSE:关闭窗口时产生的消息
WM_DESTROY:由DestroyWiodow函数发出的消息
WM_QUIT:由PostQuitMessage函数发出的消息
WM_PAINT:产生此消息的操作
- 用户区移动或显示
- 用户窗口改变大小
- 程序通过滚动条滚动窗口
- 下拉式菜单关闭并需要恢复被覆盖的部分
- Windows清除对话框等对象,并需要恢复被覆盖的部分
-
Windows c++面向对象与可视化编程的基础知识的更多相关文章
- java第九节 网络编程的基础知识
/** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端 ...
- python六十七课——网络编程(基础知识了解)
网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...
- C#复习笔记(5)--C#5:简化的异步编程(异步编程的基础知识)
异步编程的基础知识 C#5推出的async和await关键字使异步编程从表面上来说变得简单了许多,我们只需要了解不多的知识就可以编写出有效的异步代码. 在介绍async和await之前,先介绍一些基础 ...
- 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...
- TCP/UDP网络编程的基础知识与基本示例(windows和Linux)
一.TCP编程的一般步骤 服务器端: 1.创建一个socket,用函数socket() 2.绑定IP地址.端口等信息到socket上,用函数bind() 3.开启监听,用函数listen() 4.接收 ...
- [转] linux操作系统下c语言编程入门--基础知识
点击阅读原文 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容: 1. 源程序编译 2. Makefile的编写 3. 程序库 ...
- php面向对象编程(oop)基础知识示例解释
面向对象并不是一种技术,而是一种思想,是一种解决问题的最基本的思维方式!如何理解使用?OOP:面向对象编程 (直接代码说明) 1.面向对象的基本概念 示例demo: <?php header(& ...
- WIN64内核编程-的基础知识
WIN64内核编程基础班(作者:胡文亮) https://www.dbgpro.com/x64driver 我们先从一份"简历"说起: 姓名:X86或80x86 性别:? 出生 ...
- 01网络编程(基础知识+OSI七层协议+TCP与UDP)
目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...
随机推荐
- column count of mysql.proc is wrong. expected 20,found 16. the table is probably corruptd.
1558 1547 column count of mysql.proc is wrong. expected 20,found 16. the table is probably corruptd. ...
- 试玩mpvue,用vue的开发模式开发微信小程序
mpvue,美团开源的vue文件转换成小程序的文件格式,今天玩了一下练练手 mpvue文档地址: http://mpvue.com/mpvue/#_1 暂时有几个点需要注意的: 1.新增页面需要重新启 ...
- linux关于ftp查看不到文件列表的问题
今天配置linux服务器的ftp后,登录都正常,使用ftp工具登录后,所有目录都可以通过手工写路径访问,但是文件夹和文件列表看不到数据. 后来分析,总结原因得出结果是跟selinux有关,于是通过关闭 ...
- MySQL 高性能存储引擎:TokuDB初探
在安装MariaDB的时候了解到代替InnoDB的TokuDB,看简介非常的棒,这里对ToduDB做一个初步的整理,使用后再做更多的分享. 什么是TokuDB? 在MySQL最流行的支持全事务的引擎为 ...
- linux命令killall 、kill 、pkill 命令详解
转自:http://www.cnblogs.com/rsky/p/4886043.html killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processe ...
- Linux-vim编辑器与shell的简介
VIM编辑器 vi是Visual interface的简称,它可以执行输出.删除.查找.替换.块操作等众多文本操作. 用户可以根据自己的需要对vim进行定制,这是其他编辑程序所没有的. vim不是一 ...
- solr统计只返回10或者100个数据的解决办法
因为我所在的公司为政府做的项目[风险管理系统],其中涉及大量的统计展示,多数以整个市的区划,行业部门等方式返回,在昨天,我发现听过填报单位的方式返回时,始终只有100个数据.通过对比发现,在前辈的代码 ...
- Ansible 系列之 Inventory 资源清单介绍
一.Inventory 库存清单文件 1.Inventory 作用 Ansible 可以在同一时间针对多个系统设施进行管理工作.它通过选择Ansible 资源清单文件中列出的系统,该清单文件默认是在/ ...
- 初尝微信小程序开发与实践
这可能是一个java程序员最不务正业的一次分享了. 小程序的火热相信不用我多说了,年初的时候老婆去浦东某达面试,甚至都被问有没有小程序测试经验.俨然小程序成为了互联网公司自PC,WAP,安卓,IOS之 ...
- Oracle 查询历史数据(转帖)
回复误删除数据信息. 1.执行 alter table table_name enable row movement; 2.执行 FlashBack table table_name to times ...