主题:CRect
CRect 到底是类还是对象
为啥能直接能用?
不用再定义对象?
比如:
CButton::Create
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const
RECT& rect, CWnd* pParentWnd, UINT nID );
参数const RECT& rect
需要一个CRect对象 或者是rect结构体
定义一个CButton对象btn:
btn.Create( LPCTSTR lpszCaption, DWORD dwStyle,
CRect( int l, int t, int r, int b ), CWnd* pParentWnd, UINT nID );
为什么可以直接写成这样?而不需要定义一个CRect的对象去调用?
百度以后的解释是:
CRect是MFC的一个类,它重载了所有与RECT,LPCRECT,LPRECT相关
的一些操作,所以在使用时可以不用考虑目的对象具体是
RECT/LPCRECT/LPRECT,因为CRect都会进行自动转换 !
基础太差!不是很明白!知道可以这么用,但是不知道为什么?
别再建议我去查msdn了,已经找过,没找到答案!
为啥能直接能用?
不用再定义对象?
比如:
CButton::Create
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const
RECT& rect, CWnd* pParentWnd, UINT nID );
参数const RECT& rect
需要一个CRect对象 或者是rect结构体
定义一个CButton对象btn:
btn.Create( LPCTSTR lpszCaption, DWORD dwStyle,
CRect( int l, int t, int r, int b ), CWnd* pParentWnd, UINT nID );
为什么可以直接写成这样?而不需要定义一个CRect的对象去调用?
百度以后的解释是:
CRect是MFC的一个类,它重载了所有与RECT,LPCRECT,LPRECT相关
的一些操作,所以在使用时可以不用考虑目的对象具体是
RECT/LPCRECT/LPRECT,因为CRect都会进行自动转换 !
基础太差!不是很明白!知道可以这么用,但是不知道为什么?
别再建议我去查msdn了,已经找过,没找到答案!