2012年(27)
分类: C/C++
2012-03-06 10:38:40
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是画布的句柄。 “方法最开始增加一个参数,然后这个参数填相应的句柄”,嘎嘎,一点技术含量都没有,不过确实就是这么简单,:) |