[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
類別 CBaseWindow 是用於管理視窗的基類。 視訊轉譯器可以使用這個類別來建立視訊視窗。 若要使用此類別,請建立繼承自 CBaseWindow 的衍生類別。 在衍生類別中:
- 實作純虛擬方法 CBaseWindow::GetClassWindowStyles,以定義視窗樣式。
- 覆寫處理視窗訊息的 CBaseWindow::OnReceiveMessage 方法。
- 實作會呼叫 CBaseWindow::D oneWithWindow 方法的 解構函式。
在使用衍生類別的實例之前,請先呼叫 CBaseWindow::P repareWindow 方法。
| 受保護的成員變數 | Description |
|---|---|
| m_hInstance | 模組實例的控制碼。 |
| m_hwnd | 物件的視窗控制碼。 |
| m_hdc | 視窗裝置內容的控制碼。 |
| m_Width | 工作區的寬度,以圖元為單位。 |
| m_Height | 工作區的高度,以圖元為單位。 |
| m_bActivated | 指定視窗是否已啟動的旗標。 |
| m_pClassName | 包含視窗類別名稱的靜態字串。 |
| m_ClassStyles | 視窗的類別樣式。 |
| m_WindowStyles | 視窗的視窗樣式。 |
| m_WindowStylesEx | 視窗的延伸視窗樣式。 |
| m_ShowStageMessage | 將視窗帶入前景的私人訊息。 |
| m_ShowStageTop | 將視窗樣式設定為WS_EX_TOPMOST的私人訊息。 |
| m_RealizePalette | 實現調色盤的私人訊息。 |
| m_MemoryDC | 記憶體裝置內容的控制碼。 |
| m_hPalette | 視窗調色盤的控制碼。 |
| m_bNoRealize | 旗標,指定視窗是否應該實現其調色盤。 |
| m_bBackground | 旗標,指定調色盤是否應該是背景調色盤。 |
| m_bRealizing | 旗標,指定是否要實現新的調色盤。 |
| m_WindowLock | 重要區段,可將物件的存取序列化。 |
| m_bDoGetDC | 旗標,指定是否要擷取裝置內容。 |
| m_bDoPostToDestroy | 旗標,指定視窗張貼或傳送其解構訊息。 |
| 保護方法 | Description |
| OnPaletteChange | 處理調色盤變更訊息。 虛擬。 |
| 公用方法 | Description |
| CBaseWindow | 建構函式方法。 |
| DoneWithWindow | 終結視窗。 虛擬。 |
| PrepareWindow | 建立視窗。 虛擬。 |
| InactivateWindow | 停用視窗。 虛擬。 |
| ActivateWindow | 根據衍生類別的需求調整視窗的大小。 虛擬。 |
| OnSize | 處理WM_SIZE訊息。 虛擬。 |
| OnClose | 處理WM_CLOSE訊息。 虛擬。 |
| GetDefaultRect | 擷取工作區的預設大小。 虛擬。 |
| UninitialiseWindow | 釋放視窗的資源。 虛擬。 |
| InitialiseWindow | 初始化視窗。 虛擬。 |
| CompleteConnect | 通知視窗轉譯器的輸入釘選已連接。 |
| DoCreateWindow | 建立視窗。 |
| PerformanceAlignWindow | 將視窗對齊 DWORD 界限,以達到最大效能。 |
| DoShowWindow | 設定視窗的顯示狀態。 |
| PaintWindow | 使視窗重新繪製。 |
| DoSetWindowForeground | 將視窗帶入前景。 |
| SetPalette | 安裝視窗的調色盤。 虛擬。 |
| SetRealize | 指定視窗是否實現調色盤。 |
| DoRealisePalette | 瞭解視窗目前的調色盤。 虛擬。 |
| 可能EatMessage | 可讓衍生類別將訊息轉送至另一個視窗。 虛擬。 |
| GetWindowWidth | 擷取視窗目前的寬度。 |
| GetWindowHeight | 擷取視窗目前的高度。 |
| GetWindowHWND | 擷取視窗的控制碼。 |
| GetMemoryHDC | 擷取記憶體裝置內容的控制碼。 |
| GetWindowHDC | 擷取視窗裝置內容的控制碼。 |
| OnReceiveMessage | 處理視窗訊息。 虛擬。 |
| UnsetPalette | 刪除視窗目前的調色盤,並還原預設的系統選擇區。 |
| 純虛擬方法 | Description |
| GetClassWindowStyles | 擷取視窗的類別樣式和視窗樣式。 |
規格需求
| 需求 | 值 |
|---|---|
| 標頭 |
|
| 程式庫 |
|