msdn上关于InvalidateRect是这样写的。
void InvalidateRect( LPCRECT lpRect, BOOL bErase = TRUE );
这说明它的第一个参数是一个指针。而我看到很多类似的函数都像如下这样写。
InvalidateRect(m_hWnd, &rect,true); //其中m_hWnd.是一个HWND句柄。而且为什么会有3个参数。是不是指针类型都可以拆成两个参数如(m_hWnd, &rect)。十分迷惑。望大侠们指点小弟。谢了。
void InvalidateRect( LPCRECT lpRect, BOOL bErase = TRUE );
这说明它的第一个参数是一个指针。而我看到很多类似的函数都像如下这样写。
InvalidateRect(m_hWnd, &rect,true); //其中m_hWnd.是一个HWND句柄。而且为什么会有3个参数。是不是指针类型都可以拆成两个参数如(m_hWnd, &rect)。十分迷惑。望大侠们指点小弟。谢了。
解决方案 »
- 求助 如何实现OnMove()函数的重载 谢谢
- 怎样取得CEditbox 输入的值?怎样取得CCombobox 输入的值?
- 有谁知道与sscanf函数功能一样,入口参数是va_list的c函数是什么?
- 怎样把ULONGLONG类型转换为double类型?
- 深入学习网络编程有什么经典读物?某些所谓经典差点让我郁闷死
- 读写注册表,急!
- CreateWindow 创建分割条split,请指教!!!
- 请问dll中使用modeless dialog的问题
- 高分求”图象渐隐渐现“的源程序
- 请教各位一下 ,maindialog处在定时器刷新状态时,悬浮框拖动会有
- CDatabase与ADO访问速度上的比较?
- 请高手帮忙解决一个关于ip rawpacket的问题
其实CWnd类下的这个函数就是调用了win32api的函数 因为CWnd本身对应了一个窗口 所以窗口句柄不用再传递了_AFXWIN_INLINE void CWnd::InvalidateRect(LPCRECT lpRect, BOOL bErase)
{ ASSERT(::IsWindow(m_hWnd)); ::InvalidateRect(m_hWnd, lpRect, bErase); }