Win32程序设计小结

本文作者分享了阅读PetZold大师的《Windows程序设计》后的实践,通过API编写了一个Win32版本的电话本程序。程序使用纯API实现,虽然相比MFC更简洁但效率较低,花费了约两天时间完成。程序界面包含双击编辑功能,数据结构采用list<Person>存储,重载了operator[]以便于操作。主要函数包括MainDlgProc、EditDlgProc和InputDlgProc,通过SendMessage控制控件交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

      之前看了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
程序见:下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值