在一本书上看到:利用红色画刷填充鼠标拖动过程中所形成的矩形区域:1) CBrush brush(RGB(255,0,0));2) CClientDC dc(this);3) dc.FillRect(CRect(point1,point2),&brush);在第三个句子中,调用FillRect()函数。该函数的原型为:FillRect(LPCRECT lpRect,CBrush *pbrush);从该函数的原型可看出,其第一个参数要求为一个 LPCRECT 型指针,但在程序中,直接用的是CRect(point1,point2),而CRect 是类CRect的构造函数(它肯定不是CBrush类的成员函数)啊,构造函数都是无返回值的啊。这里的CRect到底是什么呢?
解决方案 »
- 请教如何将相机的驱动程序跟我自己写的exe文件打包在一起
- Windows 95 通信编程 配套磁盘代码
- 我用网上下载的CCaptureVideo类(用的directshow)已经实现的视频预览和抓图,请问我怎么得到一帧一帧数据啊?
- CWinThread的线程中如何操作界面的控件
- EnterCriticalSection后,如果边续2次LeaveCriticalSection,会出现什么问题?
- 请教一个VC关于线程的奇怪问题
- 初学勾子,有问题请教!
- 怎样给edit控件赋值,我使用SetWindowText为什么不好用?
- 如何精确定位控件的大小?谢谢~~~
- 请问各位,我想学习vc++6,是用英文的好,还是中文的好?
- 文本文件格式转换问题!急!
- 我用dlg.DoModal()创建一个对话框来等待我的主程序完成操作,但dlg放在主程序中,就一直要等这个等待对话框关闭才执行下面的操作?
Creates the intersection of CRect and a rectangle and returns the resulting CRect.
重载了地址运算符,所以可以强制转换成功
就是operator LPCRECT( ) const throw( );
的你通过参数传递一个CRect对象时,如果参数类型是LPCRECT时,CRect可以进行自动的隐式类型转换.这就是为什么你觉得CRect应容如此方便的原因.我们在编程的时候也可以借鉴.