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 知 ...
随机推荐
- streamsets 丢踢无关数据
对于不需要的数据,streamsets 可以方便的设置丢踢,我们可以通过定义require 字段或者前置条件进行配置 require(必须字段) 必须字段是必须存在一条record 中的,对于不存在的 ...
- nexus yum 私服集成
nexus 集成了 yum 私服使用起来还是比较简单的 配置 yum proxy 实际使用我们可能需要配置centos 以及epel 的源 centos可以用http://mirror.cento ...
- Oracle单表去重复(二)
Oracle单表去重 去重有两层含义,一:是记录完全一样.二:是符合一定条件的认为是重复. 根据表的数量,去重可划分为:单表去重和多表关联去重. 对于去重,一般最容易想到的是用distinct,而 ...
- 利用WeX5给手机APP增加短信验证码功能
帖子来源:http://bbs.wex5.com/thread-70908-1-1.html 遇到一个手机APP项目客户要求注册到APP上的用户手机号必须是真实的通过X5平台整合短信发送平台接口完成了 ...
- LCD的接口类型详解
LCD的接口有多种,分类很细.主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式.MCU模式 ...
- linux Posix 信号量 一
信号量是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语. linux提供两种信号量,“内核信号量”和“用户态进程信号量”,“用户态信号量”又分为“Posix”,“System V”信号 ...
- UI“三重天”之selenium--封装(二)
基础示例代码: /** * @author Richered **/ package com.sample; import org.openqa.selenium.By; import org.ope ...
- Fri Oct 31 18:00:00 UTC+0800 2008转换为yyyy-mm-dd
这个其实网上有很多例子,都是直接用js在前端做了时间处理,我的处理也一样,想要变成2008-3-31,就用下面的js直接可以处理 function Todate(num) { //Fri Oct 31 ...
- Linux服务器安全之用户密钥认证登录
转自:http://blog.sina.com.cn/s/blog_6561ca8c0102vb0d.html 一. 密钥简介 在Linux下,远程登录系统有两种认证方式:密码认证和密钥认证.密码认证 ...
- Spring源码分析之——导入spring-framework源代码到Eclipse
本人最近想要研究spring的源代码,但当要导入spring sub project到Eclipse里面去的时候遇到了不少麻烦(其实都怪自己想当然). 找到spring-framework的gitHu ...