mfc绘图库.docx
- 文档编号:7580156
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:26
- 大小:21.83KB
mfc绘图库.docx
《mfc绘图库.docx》由会员分享,可在线阅读,更多相关《mfc绘图库.docx(26页珍藏版)》请在冰豆网上搜索。
mfc绘图库
//ThisisapartoftheMicrosoftFoundationClassesC++library.
classCSize;
classCPoint;
classCRect;
//CObject
//CException
//CSimpleException
classCResourceException;//Winresourcefailureexception
classCUserException;//MessageBoxalertandstopoperation
classCGdiObject;//CDCdrawingtool
classCPen;//apen/HPENwrapper
classCBrush;//abrush/HBRUSHwrapper
classCFont;//afont/HFONTwrapper
classCBitmap;//abitmap/HBITMAPwrapper
classCPalette;//apalette/HPALLETEwrapper
classCRgn;//aregion/HRGNwrapper
classCDC;//aDisplayContext/HDCwrapper
classCClientDC;//CDCforclientofwindow
classCWindowDC;//CDCforentirewindow
classCPaintDC;//embeddableBeginPaintstructhelper
classCMenu;//amenu/HMENUwrapper
classCCmdTarget;//atargetforusercommands
classCWnd;//awindow/HWNDwrapper
classCDialog;//adialog
//standardwindowscontrols
classCStatic;//Staticcontrol
classCButton;//Buttoncontrol
classCListBox;//ListBoxcontrol
classCCheckListBox;//speciallistboxwithchecks
classCComboBox;//ComboBoxcontrol
classCEdit;//Editcontrol
classCScrollBar;//ScrollBarcontrol
//framewindows
classCFrameWnd;//standardSDIframe
classCMDIFrameWnd;//standardMDIframe
classCMDIChildWnd;//standardMDIchild
classCMiniFrameWnd;//half-heightcaptionframewnd
//viewsonadocument
classCView;//aviewonadocument
classCScrollView;//ascrollingview
classCWinThread;//threadbaseclass
classCWinApp;//applicationbaseclass
classCDocTemplate;//templatefordocumentcreation
classCSingleDocTemplate;//SDIsupport
classCMultiDocTemplate;//MDIsupport
classCDocument;//maindocumentabstraction
//Helperclasses
classCCmdUI;//Menu/buttonenabling
classCDataExchange;//Dataexchangeandvalidationcontext
classCCommandLineInfo;//CommandLineparsinghelper
classCDocManager;//CDocTemplatemanagerobject
//CPoint-A2-Dpoint,similartoWindowsPOINTstructure.
classCPoint:
publictagPOINT
{
public:
//Constructors
//createanuninitializedpoint
CPoint();
//createfromtwointegers
CPoint(intinitX,intinitY);
//createfromanotherpoint
CPoint(POINTinitPt);
//createfromasize
CPoint(SIZEinitSize);
//createfromadword:
x=LOWORD(dw)y=HIWORD(dw)
CPoint(DWORDdwPoint);
//Operations
//translatethepoint
voidOffset(intxOffset,intyOffset);
voidOffset(POINTpoint);
voidOffset(SIZEsize);
BOOLoperator==(POINTpoint)const;
BOOLoperator!
=(POINTpoint)const;
voidoperator+=(SIZEsize);
voidoperator-=(SIZEsize);
voidoperator+=(POINTpoint);
voidoperator-=(POINTpoint);
//OperatorsreturningCPointvalues
CPointoperator+(SIZEsize)const;
CPointoperator-(SIZEsize)const;
CPointoperator-()const;
CPointoperator+(POINTpoint)const;
//OperatorsreturningCSizevalues
CSizeoperator-(POINTpoint)const;
//OperatorsreturningCRectvalues
CRectoperator+(constRECT*lpRect)const;
CRectoperator-(constRECT*lpRect)const;
};
/////////////////////////////////////////////////////////////////////////////
//CRect-A2-Drectangle,similartoWindowsRECTstructure.
typedefconstRECT*LPCRECT;//pointertoread/onlyRECT
classCRect:
publictagRECT
{
public:
//Constructors
//uninitializedrectangle
CRect();
//fromleft,top,right,andbottom
CRect(intl,intt,intr,intb);
//copyconstructor
CRect(constRECT&srcRect);
//fromapointertoanotherrect
CRect(LPCRECTlpSrcRect);
//fromapointandsize
CRect(POINTpoint,SIZEsize);
//fromtwopoints
CRect(POINTtopLeft,POINTbottomRight);
//Attributes(inadditiontoRECTmembers)
//retrievesthewidth
intWidth()const;
//returnstheheight
intHeight()const;
//returnsthesize
CSizeSize()const;
//referencetothetop-leftpoint
CPoint&TopLeft();
//referencetothebottom-rightpoint
CPoint&BottomRight();
//constreferencetothetop-leftpoint
constCPoint&TopLeft()const;
//constreferencetothebottom-rightpoint
constCPoint&BottomRight()const;
//thegeometriccenterpointoftherectangle
CPointCenterPoint()const;
//swaptheleftandright
voidSwapLeftRight();
staticvoidSwapLeftRight(LPRECTlpRect);
//convertbetweenCRectandLPRECT/LPCRECT(noneedfor&)
operatorLPRECT();
operatorLPCRECT()const;
//returnsTRUEifrectanglehasnoarea
BOOLIsRectEmpty()const;
//returnsTRUEifrectangleisat(0,0)andhasnoarea
BOOLIsRectNull()const;
//returnsTRUEifpointiswithinrectangle
BOOLPtInRect(POINTpoint)const;
//Operations
//setrectanglefromleft,top,right,andbottom
voidSetRect(intx1,inty1,intx2,inty2);
voidSetRect(POINTtopLeft,POINTbottomRight);
//emptytherectangle
voidSetRectEmpty();
//copyfromanotherrectangle
voidCopyRect(LPCRECTlpSrcRect);
//TRUEifexactlythesameasanotherrectangle
BOOLEqualRect(LPCRECTlpRect)const;
//inflaterectangle'swidthandheightwithout
//movingitstoporleft
voidInflateRect(intx,inty);
voidInflateRect(SIZEsize);
voidInflateRect(LPCRECTlpRect);
voidInflateRect(intl,intt,intr,intb);
//deflatetherectangle'swidthandheightwithout
//movingitstoporleft
voidDeflateRect(intx,inty);
voidDeflateRect(SIZEsize);
voidDeflateRect(LPCRECTlpRect);
voidDeflateRect(intl,intt,intr,intb);
//translatetherectanglebymovingitstopandleft
voidOffsetRect(intx,inty);
voidOffsetRect(SIZEsize);
voidOffsetRect(POINTpoint);
voidNormalizeRect();
//setthisrectangletointersectionoftwoothers
BOOLIntersectRect(LPCRECTlpRect1,LPCRECTlpRect2);
//setthisrectangletoboundingunionoftwoothers
BOOLUnionRect(LPCRECTlpRect1,LPCRECTlpRect2);
//setthisrectangletominimumoftwoothers
BOOLSubtractRect(LPCRECTlpRectSrc1,LPCRECTlpRectSrc2);
//AdditionalOperations
voidoperator=(constRECT&srcRect);
BOOLoperator==(constRECT&rect)const;
BOOLoperator!
=(constRECT&rect)const;
voidoperator+=(POINTpoint);
voidoperator+=(SIZEsize);
voidoperator+=(LPCRECTlpRect);
voidoperator-=(POINTpoint);
voidoperator-=(SIZEsize);
voidoperator-=(LPCRECTlpRect);
voidoperator&=(constRECT&rect);
voidoperator|=(constRECT&rect);
//OperatorsreturningCRectvalues
CRectoperator+(POINTpoint)const;
CRectoperator-(POINTpoint)const;
CRectoperator+(LPCRECTlpRect)const;
CRectoperator+(SIZEsize)const;
CRectoperator-(SIZEsize)const;
CRectoperator-(LPCRECTlpRect)const;
CRectoperator&(constRECT&rect2)const;
CRectoperator|(constRECT&rect2)const;
CRectMulDiv(intnMultiplier,intnDivisor)const;
};
classCGdiObject:
publicCObject
{
DECLARE_DYNCREATE(CGdiObject)
public:
//Attributes
HGDIOBJm_hObject;//mustbefirstdatamember
operatorHGDIOBJ()const;
HGDIOBJGetSafeHandle()const;
staticCGdiObject*PASCALFromHandle(HGDIOBJhObject);
staticvoidPASCALDeleteTempMap();
BOOLAttach(HGDIOBJhObject);
HGDIOBJDetach();
//Constructors
CGdiObject();//mustCreateaderivedclassobject
BOOLDeleteObject();
//Operations
intGetObject(intnCount,LPVOIDlpObject)const;
UINTGetObjectType()const;
BOOLCreateStockObject(intnIndex);
BOOLUnrealizeObject();
BOOLoperator==(constCGdiObject&obj)const;
BOOLoperator!
=(constCGdiObject&obj)const;
//Implementation
public:
virtual~CGdiObject();
#ifdef_DEBUG
virtualvoidDump(CDumpContext&dc)const;
virtualvoidAssertValid()const;
#endif
};
/////////////////////////////////////////////////////////////////////////////
//CGdiObjectsubclasses(drawingtools)
classCPen:
publicCGdiObject
{
DECLARE_DYNAMIC(CPen)
public:
staticCPen*PASCALFromHandle(HPENhPen);
//Constructors
CPen();
CPen(intnPenStyle,intnWidth,COLORREFcrColor);
CPen(intnPenStyle,intnWidth,constLOGBRUSH*pLogBrush,
intnStyleCount=0,constDWORD*lpStyle=NULL);
BOOLCreatePen(intnPenStyle,intnWidth,COLORREFcrColor);
BOOLCreatePen(intnPenStyle,intnWidth,constLOGBRUSH*pLogBrush,
intnStyleCount=0,constDWORD*lpStyle=NULL);
BOOLCreatePenIndirect(LPLOGPENlpLogPen);
//Attributes
operatorHPEN()const;
intGetLogPen(LOGPEN*pLogPen);
intGetExtLogPen(EXTLOGPEN*pLogPen);
//Implementation
public:
virtual~CPen();
#ifdef_DEBUG
virtualvoidDump(CDumpContext&dc)const;
#endif
};
classCBrush:
publicCGdiObject
{
DECLARE_DYNAMIC(CBrush)
public:
staticCBrush*PASCALFromHandle(HBRUSHhBrush);
//Constructors
CBrush();
CBrush(COLORREFcrColor);//CreateSolidBrush
CBrush(intnIndex,COLORREFcrColor);//CreateHatchBrush
CBrush(CBitmap*pBitmap);//CreatePatternBrush
BOOLCreateSolidBrush(COLORREFcrColor);
BOOLCreateHatchBrush(intnIndex,COLORREFcrColor);
BOOLCreateBrushIndirect(constLOGBRUSH*lpLogBrush);
BOOLCreatePatternBrush(CBitmap*pBitmap);
BOOLCreateDIBPatternBrush(HGLOBALhPackedDIB,UINTnUsage);
BOOLCreateDIBPatternBrush(constvoid*lpPackedDIB,UINTnUsage);
BOOLCreateSysColorBrush(intnIndex);
//Attributes
operatorHBRUSH()const;
intGetLogBrush(LOGBRUSH*pLogBrush);
//Implementation
public:
virtual~CBrush();
#ifdef_DEBUG
virtualvoidDump(CDumpContext&dc)const;
#endif
};
classCFont:
publicCGdiObject
{
DECLARE_DYNAMIC(CFont)
public:
staticCFont*PASCALFromHandle(HFONThFont);
//Constructors
CFont();
BOOLCreateFontIndirect(constLOGFONT*lpLogFont);
BOOLCreateFont(intnHeight,intnWidth,intnEscapement,
intnOrientation,intnWeight,BYTEbItalic,BYTEbUnderline,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mfc 绘图