Win32程序设计小结

Win32 基本程序设计原理总结 WM_COMMAND消息,用以通知父窗口按钮被点击,经测试:子窗口向父窗口发送WM_COMMAND消息,或者称为父窗口会收到WM_COMMAND消息,操作系统并不是通过将WM_COMMAND消息放入到父窗口的消息队列中去,而是直接调用了父窗口的窗口过程,以 WM_COMMAND 为消息标识参数(UINT uMsg),实现这个功能的API函数正是: LRESULT DispatchMessage(const MSG *lpmsg);另外,系统还维护一个全局的系统消息队列,用来接受鼠标,键盘等外设触发的消息。 阅读详情

      由于最近很长一段时间内,自己的生活比较糟糕一直没法把之前打算发的一些东西发上来,今天趁三天假期赶紧发把暑假写的一些东西发上来好总结一下,暂时寥寥写上几句。

      之前看了PetZold大师的Window程序设计那本书,然后就尝试着用纯的API写个程序,发现这样写思路很清晰,但就是自己要做的事情太多,程序相比MFC看起来要简洁,但有重写了很多代码,效率也较MFC的低,上一章的迷你电话本我只花了差不多一个小时,而这个Win32版本的电话本差不多有两天时间了。

      界面功能:

      功能跟上一个MFC版本的差不多,多了个可以双击List控件编辑相应条目。 

数据结构:由于没想到好的序列化方法,就暂且用字符数组保存

     

 

     

重载这个操作符,我目的是为了在使用列表控件是方便索引CPerson的相应数据。

数据的保存我采用了STL的list存储:list<Person> pDataList;//保存的数据链

 

下面是程序的主体部分:

然后我说下Win32程序设计的特点,界面控件部分很多时候就是使用SendMessage给控件发送消息,以控制控件

LRESULT SendMessage(      

    HWND hWnd,     UINT Msg,     WPARAM wParam,     LPARAM lParam ); //hWnd就是控件的窗口句柄 Msg是消息类型 而wParam跟lParam则是跟相应的控件和消息类型有关,这个可以查阅MSDN
还是以列表控件为例,看下win32Api对控件的使用方式,下面是程序中显示电话联系条目的代码:
首先是初始化列表控件的(在主对话框的消息处理函数中):
 
同样是list控件的数据更新函数:
 
还有个值得关注的地方是,如何通过点击获取用户正在点击哪一行数据?并且对此消息作出响应?这个就要了解下WM_NOTIFY消息了
通过对这个了解也可以理解MFC的Notify消息:
 
这个程序较为简单,本文关键词:WM_NOTIFY/ListCtrl/Win32Api
程序见:下载
Win32+API编程入门.pdf Win32+API编程入门.pdf 经典的介绍api编程书籍 入门书籍 欢迎下载 立即下载

相关推荐

Win32 C 编程,最简形式的窗口

最简单形式的窗口,Win32 C 编程

WIN32 API应用开发——简易计算器设计

WIN32 API应用开发——简易计算器设计 前言: 由于项目需求,最近接触到C++应用程序开发。对倾向于界面设计的应用程序开发来说,QT是目前主流的选择,无论是这个工具本身,还是相关生态的繁荣程度,都是非常适合开发者去学习使用。在学习QT之前,有必要研究一下较之来说更基础的平台接口类的应用程序开发,从而帮助我们更好理解应用程序的运行原理。 Windows API 是用于创建 Windows 应用程序的基于 C 语言的框架。 它诞生自 20 世纪 80 年代,几十年来一直用于创建 Windows 应用程序。

JCY的博客 1997

win32系统编程,比较经典的一本书

比较经典的windows系统编程入门教程,中间的扫描内容很清晰。

WIN32汇编语言程序设计——API和动态链接

最后有一个最重要的概念一定要牢记:动态链接库是被映射到其他应用程序的地址空间中执行的,它和应用程序可以看成是“一体”的,动态链接库可以使用应用程序的资源,它所拥有的资源也可以被应用程序使用,它的任何操作都是代表应用程序进行的,当动态链接库进行打开文件、分配内存和创建窗口等操作后,这些文件、内存和窗口都是为应用程序所拥有的。1. 在程序中声明函数。当PE文件被执行的时候,Windows装载器将文件装入内存并将导入表中登记的DLL文件一并装入,再根据DLL文件中的函数导出信息对被执行文件的IAT表进行修正。

evagenius的博客 1263

Win32编程基础

win32编程基础知识,点滴积累。

霍尔安装歪了也能用?揭秘无感FOC中的‘霍尔自学习’黑科技,实现信号线自适应

本文揭秘了无感FOC中的‘霍尔自学习’黑科技,即使霍尔安装歪了或信号线接错,电机仍能平稳运转。该技术通过算法创新解决了传统霍尔方案的安装公差、接线容错和校准成本问题,显著提升了电机控制的可靠性和效率。文章详细解析了自学习算法的实现架构、关键技术及工程实践中的优化方案,展示了其在工业应用中的卓越性能。

weixin_28309571的博客 465

Win32程序设计(Windows程序设计机理)

  Win32程序设计,又常常被叫做SDK/API编程,现在使用Win32的程序员确实已经很少了,主要是因为用win32写代码比用vc写起来还累,但是Win32编程常常又是非常有效率的,现在用的比较多的就是在编写游戏中.很多人在学习VC的时候总是抱怨vc太难了,有点老虎吃天的感觉,总是不知道如何下口,甚至有些人用了一两年都还没有入门,如果你有这样的感觉,不如先去读一下关于Win32 SDK的资料...

passball 2065

安卓游戏存档修改全攻略:以《英雄迷宫冒险》为例(附避坑指南)

本文详细介绍了安卓游戏存档修改的全过程,以《英雄迷宫冒险》为例,涵盖基础认知、工具选择、实战修改及风险控制。通过十六进制编辑和UTF-8编码解析,玩家可以修改金钱、角色属性和物品数量等数据,同时提供了避坑指南和伦理考量,帮助玩家在享受修改乐趣的同时保持游戏体验的平衡。

weixin_29209801的博客 393

C++ Win32程序编写入门

Win32++由用于创建窗口应用程序的C++库组成。它是MFC的免费替代品,可用于更广泛的编译器,包括Borland、Microsoft和MinGW的编译器。该库可用于创建各种程序,包括简单的窗口、对话框、属性表以及框架和MDI框架应用程序。教程部分提供了有关如何使用这些类构建自己的Win32应用程序的信息。基于框架的应用程序通常有一个通用框架窗口,该窗口可能有例如菜单、工具栏和状态栏,并且在客户端区域上有一个单独的窗口(有时称为视图窗口)。您熟悉的许多windows应用程序都可能是基于框架的应用程序。

火柴盒 4880

基于图神经网络的社交网络虚假账号检测系统 (Graph-based Fake Account Detection System, GFADS)

FOLLOWSRETWEETSSHAREDCOMMENTSLIKESMENTIONSUseruser_idusernamejoin_datebioavatar_urllocationverifiedis_fakeLOAD CSV这是决定模型性能的关键环节,需结合和。XXedge_indexy新账号缺乏历史数据和丰富关系。全网图可能包含数亿节点和数十亿边,难以直接训练。社交网络是动态变化的,虚假账号策略也在不断进化。获取大规模、高质量的真实/虚假账号标注数据非常困难。

Deng945201314的博客 1481

别再为批次效应发愁了!手把手教你用Harmony整合10x单细胞数据(附完整R代码)

本文详细介绍了如何使用Harmony工具消除单细胞数据中的批次效应,提供完整的R代码实现跨样本数据整合。通过模糊聚类和渐进校正技术,Harmony能有效区分技术噪音与真实生物信号,适用于大型数据集处理。文章包含质控要点、参数设置建议及常见问题解决方案,助力研究者获得高质量整合结果。

weixin_27215403的博客 197

[Win32]Win32网络小结

Win32网络小结 (1) Windows Sockets由两部分组成:开发组件和运行组件。 开发组件:Windows Sockets 实现文档、应用程序接口(API)引入库和一些头文件。 运行组件:Windows Sockets 应用程序接口的动态链接库(WINSOCK.DLL)。 (2) 在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面三个文件,否

guoduhua的专栏 735

《寻秦OL》.ani动画逆向解析:二进制结构与Unity重实现

动画文件格式是游戏资源逆向的核心入口,其本质是一组按特定规则组织的二进制数据流。理解魔数识别、字节序、字段对齐与差分编码等底层原理,是解析非标准格式的关键前提。技术价值在于绕过黑盒协议,直接从静态客户端提取可验证的原始语义;典型应用场景包括老游戏复刻、美术资产抢救、引擎跨平台迁移及教学级逆向训练。本文以《寻秦OL》的`.ani`文件为实例,深入剖析其C风格结构布局、GB2312中文命名、16位定点数旋转表示及帧主序差分存储机制,并基于C#在Unity中完成从字节流到AnimationClip的端到端重建,覆

weixin_30368981的博客 641

【实战项目】想自己通过C语言编写贪吃蛇吗?先来学习一下什么是WIN32API

【实战项目】用C语言编写贪吃蛇(上)——详解WIN32 API 要编写能在Windows环境下正常运行的C语言版贪吃蛇,学习Win32API是必不可少的……

蒙奇D索大的博客 866

手把手拆解UCIe协议层:从Raw Mode到Flit Mode,数据包到底经历了什么?

本文深入解析UCIe协议层的数据包处理机制,从Raw Mode到Flit Mode的三大变体(Standard 256B、68B-Enhanced、Latency-Optimized),详细揭示数据包在不同模式下的封装与转换过程。通过工程师视角,展示协议层如何实现多模式动态切换、错误恢复及与D2D Adapter的协同设计,为芯片级互连技术提供实践指导。

weixin_28728495的博客 240

面向非平行语料的语音转换技术综述

摘要语音转换是语音及人工智能领域的一项研究课题,其目标是在保持源语音内容不变的情况下改变语音的音色,使其听上去像是由另一个目标说话人说出的,同时还需保证语音的质量和自然度。面向非平行语料的语音转换技术是当下的热门研究内容,其使用非平行的多说话人语音数据集进行模型训练,能完成多对多以及任意对任意的语音转换。对近年来面向非平行语料的语音转换进行了全面的总结和分析。首先概述了早期面向平行语料的语音转换及其缺陷,然后对当下面向非平行语料的语音转换的各类实现方法进行介绍和对比分析,最后对语音转换技术进行了总结和展望。

qq_61890005的博客 831

【Win32 多线程程序设计基础第十三章笔记】

在Win32操作系统环境中,进程是资源分配的基本单位,每个进程拥有独立的地址空间、内存资源和核心对象(如文件句柄、线程等)。这种“隔离性”是操作系统安全性和稳定性的重要保障,但也带来了新的挑战——当多个进程需要协同工作时,如何实现数据交换和行为同步?这就需要依赖进程间通讯(Interprocess Communication,IPC)机制。

云小逸的博客 932

leetcode134 加油站

题目如下 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输...

ayang818 's blog 234

多核优化小结

    连学带做已经两周了,今天,针对多核的优化终于有效果了。下面把这两周来学习和做项目的经验作一总结:1、对于多核多线程开发工具的选择上,经过调研,可选择的有OpenMP,win32线程库以及pThread库。对于OpenMP,由于是intel首推的多线程开发工具,并且看起来使用简单,所以开始打算用它作开发,但是学习过程中却发现它的一些不便之处:a、都是些预编译指令(#pragma)所以在单核机

dishening的专栏 2659

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Windows API程序设计

Windows API程序设计写作目的操作步骤源代码小结 写作目的 了解 windows操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动; 掌握WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数; 操作步骤 1.定义 WInMain 函数; 2.设计窗口类 WNDCLASS ; 3.注册窗口类; 4.创建窗口; 5.显示并更新窗口; 6.编写消息循环; 7.编写窗口过程调用函数; 源代码 #include<Windows.h> LRESULT CA

ChYangZzz的博客 386

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

c语言程序设计实验13文件,C语言程序设计实验指导书

C语言程序设计实验指导书 C 语言程序设计实验指导书 C 语言程序设计实验指导书 实验一:C语言的运行环境及运行 C 程序的方法(2 学时) 一、实验目的和要求:一、实验目的和要求: (1)了解所用的计算机操作系统的基本操作方法,学会使用该系统。 (2)了解在该系统上如何利用程序开发环境,编辑、编译、连接和运行一个 C 程序。 (3)通过运行简单的 C 程序,初步了解 C 程序的特点。 二、实验内...

weixin_39557419的博客 306

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

windows概述(windows程序设计)

#include <tchar.h> include <mmsystem.h> //导入声音的文件库 #pragma comment (lib,"Winmm.lib") //导入声音的链接库 程序分为逻辑部分 显示部分(windows) win32是基于已有的框架的,所以入口函数只有一个 window是基于C,C++,又想有自己所特有的数据类型,所以在C,C++的类型基础上做出了重定义 1、去区别C语言,没有顾名思义 2、封装信息 特性: 1、如果没有讲过,先转定义看这个类型

一个不甘于此的弱鸡 1638

进度小结

由于过年,前后差不多用了两周看完了C标准库,时间紧任务急,有的在近期接下来的使用中不会直接用到,没有写记录。       中间在看雪上看了不少比较有引导的文章。在windows上做破解以及安全工作,还需要了解深层的windows内核原理,了解驱动程序,熟练一点使用win32汇编。       关于windows内核锁定几本书:       1.潘爱民的《windows内核原理与实现》,因为网

行者无疆的专栏 837

从MFC到Win32

一直纠结于究竟该用什么标题:总结其实说不上的,毕竟自己经验也不怎么丰富,充其量也就是一小结;换用感悟之类的也不大合适,这会让人以为我故作老成、经验丰富,诱骗大家,知根知底的朋友们当然很容易就揭穿我了。想来想去,虽然以后还有很长的路要走,但就暂且用“总结”来回顾一下自己做界面开发的一些经验和心得吧。 第一语言是C++,所以当初选择学习MFC似乎是理所当然的了。这是我最开始上网找资料以决定学

hushiwei1993的专栏 516

mfc画图程序源代码_(初心者向け)Image Processing 图像处理程序设计

一. 程序概况程序名称:Xin's Image Processing现版本 : .ver 1.72设计环境:WIN32程序功能:完成基本的图像处理基本功能实现设计者 :ZwqXin完成用时:数不清的日夜经历版本: .ver 1.0 完成程序构架的设计,主窗口界面布局的设计,完成BMP文件操作类OperateBMP,实现8BIT, 16BIT, 24BIT, 32BIT图片的读入,显示与保存...

weixin_39940714的博客 811

Windows进程管理

Windows进程管理(操作系统课设作业)

有为肥宅的博客 1310
上一篇: MFC对话框程序小总结
Pro_Charm
博客等级 码龄16年 5粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值