我爱Aspx >> VC.Net >> 非议MFC(二)逻辑上的不完备非议MFC(二)逻辑上的不完备
sp; 非议MFC(二)逻辑上的不完备
关键字:C++,MFC,RECT,CRect,POINT,CPoint,逻辑
说明:程序片断仅包括理解所必需的代码,其余省略。
1.设计缺失
<WINDEF.H>
typedef struct tagRECT
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
<AFXWIN.H>
class CRect : public tagRECT
{
void SwapLeftRight(); 1]
BOOL IsRectEmpty() const;
BOOL IsRectNull() const;
void SetRectEmpty(); 2]
CRect(int l, int t, int r, int b);
CRect(POINT topLeft, POINT bottomRight);
CRect(POINT point, SIZE size); 3]
void SetRect(int x1, int y1, int x2, int y2);
void SetRect(POINT topLeft, POINT bottomRight);
};
[1]为什么有SwapLeftRight(),却不提供对应的SwapTopBottom()?
[2]同理,为什么不提供SetRectNull()呢?
[3]既然三种方法都可以构造CRect对象,期望SetRect(POINT point, SIZE size)不是很合理吗?
【我对这篇文章有话说?】
实战DeviceIoControl 之一:通过..[05-21]
Windows中文输入法的实现[05-21]
用Delphi 6开发ASP上传组件详解[05-21]
”新快乐时光“再解[05-21]
Notes中有关C++API的注意事项[05-21]
Domino SMTP设置[05-21]
游戏修改器[05-21]
windows API简介--用户接口(系列..[05-21]
一个应用二叉搜索树实现的字典,..[05-21]
一个逻辑推理类--从规则推测前提..[05-21]