Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152963
  • 博文数量: 27
  • 博客积分: 684
  • 博客等级: 上士
  • 技术积分: 421
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-20 17:07
文章分类

全部博文(27)

文章存档

2012年(27)

分类: C/C++

2012-03-06 10:38:40

关于API SDK和MFC的对照学习
C语言调用API SDK的方式来进行Windows程序的编写,有的同学在学习的过程中到网上查找课上教的一些函数的写法,但是有时候会碰到一些用MFC来进行调用的方式,不知道怎么转换成API SDK的方式。首先要肯定和鼓励这位同学的想法,因为他已经开始明白语言是相通的这个道理了。
MFC是微软使用C++语言对API SDK进行封装后的一个Windows开发框架库,MFC对API SDK的封装简单,可以看到“赤果果”的API SDK的影子,MFC的包装一般只是隐藏了资源句柄,在改写成API的方式的时候一般只要将方法最开始增加一个参数,然后这个参数填相应的句柄就可以了。举例说明:
例1
MFC代码:edit1->SetWindowText(TEXT("hello"));
edit1表示一个控件,因此改写到API方式的话只要如下调用:
SetWindowText(hwndEdit,TEXT("hello"))//hwndEdit是控件的句柄
例2
void CMainFrame::OnStartTimer()
{
   m_nTimer = SetTimer(1, 2000, 0);
}
CMainFrame是一个窗口,因此如下改装:
void Main_OnStartTimer()
{
   m_nTimer = SetTimer(hwnd,1, 2000, 0);//hwnd是窗口的句柄
}
例3
CClientDC dc(this);
dc.SelectObject(&pen);
CClientDC是一个画布,因此如下改装:
SelectObject(hdc,&pen);//hdc是画布的句柄。
“方法最开始增加一个参数,然后这个参数填相应的句柄”,嘎嘎,一点技术含量都没有,不过确实就是这么简单,:)
阅读(1447) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~