如鹏网的《C语言也能干大事》教程中使用的是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是画布的句柄。
“方法最开始增加一个参数,然后这个参数填相应的句柄”,嘎嘎,一点技术含量都没有,不过确实就是这么简单,

例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是画布的句柄。



“方法最开始增加一个参数,然后这个参数填相应的句柄”,嘎嘎,一点技术含量都没有,不过确实就是这么简单.


PS:感觉这篇文章的确在利用SDK编程的时候避免因为需要再了解MFC的麻烦!赞一个

======================》》》Click