Windows API一日一练 21 SetWindowLongPtr和GetWindowLongPtr函数

本文介绍了Windows API中的SetWindowLongPtr和GetWindowLongPtr函数,详细讲解了它们的用途和使用场景。同时,鼓励读者学习人工智能教程,提升技术能力。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
在软件开发里,大家一直对着这个问题是执着的,那是“复用”。总想自己写出来的代码,可以适应性很强,到那里都可以落地生根。因此,面向对象的语言就层出不穷,每个都坚称可以最大地复用代码。在面向对象里, C ++是非常强大的。下面就来用 C ++把上面介绍的程序封装起来,这样可以复用,或者说条理更加清晰。
#001 
#002 int APIENTRY _tWinMain(HINSTANCE hInstance,
#003                       HINSTANCE hPrevInstance,
#004                       LPTSTR    lpCmdLine,
#005                       int       nCmdShow)
#006 {
#007  UNREFERENCED_PARAMETER(hPrevInstance);
#008  UNREFERENCED_PARAMETER(lpCmdLine);
#009 
#010  CCaiWin caiWin;
#011 
#012  caiWin.MyRegisterClass(hInstance);
#013  if (!caiWin.InitInstance(hInstance,nCmdShow))
#014  {
#015         return 0;
#016  }
#017 
#018  return caiWin.RunMessage();   
#019 }
 
这段代码跟前面介绍的调用,就是不一样了。
第 10 行创建了一个 CCaiWin 的对象 caiWin 。
第 12 行调用对象 CCaiWin 里的注册函数 MyRegisterClass 来注册一个窗口。
第 13 行就是初始化一个窗口的创建。
第 18 行就是调用对象 caiWin 的消息处理函数 RunMessage 。
 
这样就制定了一个基本应用的框架,可以任意修改对象里的内容,都不会影响这个函数里的调用,也就是说,只要不改那几个函数就可以永远不用修改 WinMain 函数里的内容了。
 
接着下来,再来看看类 CCaiWin 是怎么样编写的。它的类定义如下:
#001 #include <string>
#002 
#003 //
#004 // 封装一个窗口类。
#005 // 蔡军生  2007/07/27
#006 //
#007 class CCaiWin
#008 {
#009 public:
#010  CCaiWin(void);
#011  virtual ~CCaiWin(void);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值