1. 程式人生 > >海康攝像頭遇到的不明白的地方

海康攝像頭遇到的不明白的地方

stat ID 屬性 靜態鏈接庫 部分 tdi 說明 有一個 創建

AfxEnableControlContainer 函數的使用與意義

AfxEnableControlContainer()函數是允許應用程序作為控件容器來使用,對於用MFC向導自動生成的單文檔框架程序的C...APP::InitInstance()函數中自動加了這一句 AfxEnableControlContainer();

AfxEnableControlContainer() 負責布線所需的 CWnd 對象,以包含 OLE 控件支持結構。如果選擇 OLE 控件支持時,此調用應用程序向導通過添加到項目中。

Enable3dControls

CWinApp::Enable3dControls BOOL Enable3dControls( ); BOOL Enable3dControlsStatic( ); 註意:在這個部分同時描述了Enable3dControls和Enable3dControlsStatic。 返回值 如果成功地載入了CTL3D32.DLL,則為TRUE;否則為FALSE。 如果操作系統支持控件的三維外觀,則這個函數將返回FALSE。 說明: 在你重載的InitInstance成員函數內調用這些成員函數以使對話框和窗口的控件能夠具有三維外觀。這些成員函數載入CTL3D32.DLL並向它註冊應用程序。如果你調用了Enable3dControls或Enable3dControlsStatic,你不需要調用SetDialogBkColor成員函數。 在與MFC DLL連接時,必須使用Enable3dControls。當與MFC庫進行靜態連接時,必須使用Enable3dControlsStatic。 僅在專業版和企業版中才具有的特征 只有Visual C++的專業版和企業版才支持與MFC的靜態連接。有關的更多信息參見“Visual C++”。 MFC自動為下列的窗口類提供3D控件效果: ·CDialog ·CDialogBar ·CFormView ·CPropertyPage ·CPropertySheet ·CControlBar ·CToolBar 如果你希望具有3D外觀的控件所在窗口屬於上述類,那你只需調用Enable3dControls或Enable3dControlsStatic。如果你希望為基於其它類的窗口中的控件提供3D外觀,則必須直接調用CTL3D32的API函數。 示例: #ifdef _AFXDLL Enable3dControls( ); // 調用 Enable3dControls #else Enable3dControlsStatic( ); // 調用 Enable3dControlsStatic #endif

#ifdef _AFXDLL #else #endif的理解

_AFXDLL是一個在VC++的MFC程序中的系統約定宏定義。這個定義本身沒有什麽意義,只是約定標記了,MFC程序,是使用的靜態鏈接庫還是動態鏈接庫。
如果定義了這個宏(通常是在工程項目屬性中),說明使用的是MFC動態鏈接,
否則為MFC靜態鏈接。在這兩種情況下,代碼中DECLARE_MESSAGE_MAP的消
息映射定義都是存在的,只是有一個細微的差別。
這個差別就是,靜態鏈接因為MFC的基礎代碼在程序內部,因此不需要創建動態鏈接接口,而動態調用
MFC庫,則需要有接口,
因此需要一個_GetBaseMessageMap產生動態庫地址偏移,完成MFC基礎類函數映射的入口地址指向。


CDialog類的解釋
CDialog類是在屏幕上顯示的對話框基類。對話框有兩類:模態對話框和非模態對話框。模態對話框在應用繼續進行之前必須關閉。
一個CDialog對象是對話框模板與一個CDialog派生類的組合。使用對話框編輯器創建對話框並存入資源之中,然後使用ClassWizard創建一個CDialog派生類。 同其它窗口一樣,對話框從Windows 中獲取信息。在對話框中你會對來自對話框控件的處理消息感興趣,因為它說明了對話框是如何與用戶交互的。ClassWizard觀察對話框每個控件可能產生的消息,可以選擇你所希望處理的消息。ClassWizard 將適當的消息映射器入口和消息處理成員函數加到一個新類中。你只需為成員函數編寫應用的代碼。

CTreeCtrl
樹控件(CTreeCtrl)主要用來顯示具有一定層次結構的數據項,如資源管理器中的磁盤目錄等,以供用戶在其中進行各種選擇。
v

海康攝像頭遇到的不明白的地方