MFC重名函数有的加::有的不用是因为什么?

在MFC中有很多重名函数,这是因为有的是微软的API,没有记错的话一般在电脑的user32.dll这个动态库中,这个可以直接百度微软的常见动态库就能搜索到很多,下面这个链接也详细讲述了相关方面微软API与MFC类库
当我们在MFC自己创建的窗口类中进行操作时,就是…Dlg这个类,我们在它的成员函数中进行调用时,比如下面这两个函数:
void GetWindowRect(LPRECT lpRect) const

BOOL SetWindowPos(const CWnd* pWndInsertAfter, int x, int y,
int cx, int cy, UINT nFlags)
他们的参数如上所示,但是如果我们自己在外边随便写一个函数不在窗口类中声明或者是全局中这两个函数是下面这样的:
WINAPI
GetWindowRect(
In HWND hWnd,
Out LPRECT lpRect);

WINAPI
SetWindowPos(
In HWND hWnd,
In_opt HWND hWndInsertAfter,
In int X,
In int Y,
In int cx,
In int cy,
In UINT uFlags);
可以看到他们的参数是不同的,就是因为一个是微软的API一个是MFC类库中的,它们的功能基本上一致。微软的接口函数一般第一个参数都是句柄,我们可以通过::域作用符来强制调用它们,但是在窗口类中调用的时候一般默认是MFC类库中的函数!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值