现在的位置: 首页 > 综合 > 正文

[转][VC/MFC]VC资源分配、释放表

2013年05月07日 ⁄ 综合 ⁄ 共 6001字 ⁄ 字号 评论关闭

资源                            分配函数                            清除函数                     需要手动清除?

  ======================================================================
  

Accelerators                 LoadAccelerators                 N/A                             No
  
Atoms                          GlobalAddAtom                    GlobalFreeAtom            Yes
  
Bitmaps                        CreateBitmap                       DeleteObject                 Yes *

CreateBitmapIndirect            DeleteObject                 Yes *
  CreateCompatibleBitmap       DeleteObject                 Yes *
  CreateDIBitmap                    DeleteObject                 Yes *
  CreateDiscardableBitmap       DeleteObject                 Yes *
  LoadBitmap                         DeleteObject                 Yes

 

Brushes                        CreateBrushIndirect              DeleteObject                 Yes
CreateDIBPatternBrush         DeleteObject                 Yes
CreateHatchBrush                 DeleteObject                 Yes
CreatePatternBrush               DeleteObject                 Yes
CreateSolidBrush                  DeleteObject                 Yes

 

Carets                          CreateCaret                          DestroyCaret                No #

Clipboard                      OpenClipboard                     CloseClipboard              Yes
  

Comms Ports               OpenComm                         CloseComm                  Yes
  

Cursor                         CreateCursor                       DestroyCursor                     Yes
LoadCursor                         N/A                             No
  

DC                              CreateDC                                   DeleteDC                      Yes
CreateCompatibleDC             DeleteDC                      Yes @
GetDC                                ReleaseDC                    Yes
GetWindowDC                     ReleaseDC                    Yes
BeginPaint                           EndPaint                       Yes
  

DialogBox                     CreateDialog                        DestroyWindow            No
CreateDialogIndirect             DestroyWindow            No
CreateDialogIndirectParam    DestroyWindow            No
CreateDialogParam               DestroyWindow            No
  

File                              OpenFile                              _lclose                         No
  

 

Fonts                           CreateFont                           DeleteObject                 Yes
CreateFontIndirect                DeleteObject                 Yes
AddFontResource                 RemoveFontResource    Yes
  

GDIStockObj               GetStockObject                    N/A                             No &
  

Hook                            SetWindowsHook                 UnhookWindowsHook   Yes
  

IC                                CreateIC                              DeleteDC                      Yes
  

Icon                             CreateIcon                           DestroyIcon                 Yes
LoadIcon                             N/A                             No
  

Library                         LoadLibrary                         FreeLibrary                   Yes
  

Memory                       AllocDStoCSAlias                 FreeSelector                 Yes
AllocSelector                       FreeSelector                 Yes
GlobalAlloc                          GlobalFree                    No
GlobalDOSAlloc                   GlobalDOSFr                No
GlobalFix                      GlobalUnfix                  No
GlobalLock                          GlobalUnlock                No
GlobalPageLock                   GlobalPageUnlock         No
GlobalRealloc                       GlobalFree                    No
GlobalWire                           GlobalUnwire                No
LocalAlloc                           LocalFree                     No
LocalLock                           LocalUnlock                 No
LocalRealloc                        LocalFree                     No
  

Menu                           CreateMenu                         DestroyMenu                No %
CreatePopupMenu                DestroyMenu                No %
LoadMenu                           DestroyMenu                No %
LoadMenuIndirect                DestroyMenu                No %
GetSystemMenu                   N/A                             No
  

MetaFile                       CreateMetaFile                     DeleteMetaFile              Yes
  

Palette                          CreatePalette                        DeleteObject                 Yes
  

Pen                              CreatePen                            DeleteObject                 Yes
CreatePenIndirect                 DeleteObject                 Yes
  


Regions                        CreateEllipticRgn                  DeleteObject                 Yes
CreateEllipticRgnIndirect       DeleteObject                 Yes
CreatePolygonRgn                DeleteObject                 Yes
CreatePolyPolygonRgn          DeleteObject                 Yes
CreateRectRgn                     DeleteObject                 Yes
CreateRectRgnIndirect          DeleteObject                 Yes
CreateRoundRectRgn            DeleteObject                 Yes
  

Resource                      AllocResource                      FreeResource                No
FindResource                       N/A                             No
LoadResource                      FreeResource                No
LockResource                      UnlockResource            No
  

Sound                          OpenSound                          CloseSound                  Yes
  

String                           LoadString                           N/A                             No
  

Thunk                          MakeProcInstance                FreeProcInstance          No
  

Timer                           SetTimer                             KillTimer                      No
  

Window                       CreateWindow                     DestroyWindow            No
CreateWindowEx                  DestroyWindow            No

 

*     位图资源在释放的时候必须从选中它的DC中脱离。
%   
当菜单失去焦点和窗口不再关联或者应用程序结束的时候占用资源必须被释放。
@    DC
被释放前必须和它关联(选中)的位图取消联系
#    
如果脱字符指定了位图,位图必须被释放
&   
DeleteObject的调用不会销毁常规的StockObject(系统内定资源)

【上篇】
【下篇】

抱歉!评论已关闭.