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 知 ...
随机推荐
- BZOJ3436: 小K的农场(差分约束裸题&DFS优化判环)
3436: 小K的农场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2111 Solved: 986[Submit][Status][Discus ...
- 6-19 Count Connected Components(20 分)
Write a function to count the number of connected components in a given graph. Format of functions: ...
- A*专题训练
POJ2449 Remmarguts' Date UDF's capital consists of N stations. The hall is numbered S, while the sta ...
- test20181024 nan
题意 nan 问题描述 我们有一个序列,现在他里面有三个数1,2,2.我们从第三个数开始考虑: 第三个数是2,所以我们在序列后面写2个3,变成1,2,2,3,3. 第四个数是3,所以我们在序列后面写3 ...
- 固件_Linux内核
1.相关函数 .相关函数 int request_firmware_nowait( struct module *module, bool uevent, const char *name, stru ...
- highlight.js 设置行号
原文地址:highlight.js 设置行号 博客地址:http://www.extlight.com 一.背景 笔者在开发这套博客系统时使用 Editormd 作为 Markdown 编辑器,由于不 ...
- form表单序列化serialize-object.js
<form class="form-horizontal" role="form" id="myform" action=" ...
- 02 - Unit09:动态SQL
动态SQL 什么是? 系统运行过程中,动态生成的SQL语句 为什么? 当我们不能确定用户操作,所要使用的具体SQL的时候. 案例: 搜索笔记功能 按用户名 笔记本名 笔记名 搜索 搜索功能 按用户 A ...
- WebDriverException: Message: 'phantomjs.exe' executable needs to be in PATH.
本文转载自:http://blog.csdn.net/sinat_36764186/article/details/55520444 网上的某测试代码: from selenium import we ...
- Windows 上用IntelliJ Idea调试百度大数据分析框架Apache Doris FE
A. 环境准备 1. 安装jdk1.8+, Intelij IDEA 2. linux上编译好fe前端代码,主要目的是获取自动生成的代码,加入到前段工程里面去用于在idea中编译fe工程.具体编译请参 ...