Anzeigen von Dialogfeldern zum Festlegen von Videomerkmalen
Jeder Erfassungstreiber kann bis zu drei verschiedene Dialogfelder bereitstellen, mit denen Aspekte der Videodigitalisierung und des Aufzeichnungsprozesses gesteuert werden. Im folgenden Beispiel wird veranschaulicht, wie diese Dialogfelder angezeigt werden. Bevor die einzelnen Dialogfelder angezeigt werden, ruft das Beispiel das CapDriverGetCaps-Makro auf und überprüft die zurückgegebene CAPDRIVERCAPS-Struktur, um festzustellen, ob sie vom Erfassungstreiber angezeigt werden kann.
HWND hWndC = capCreateCaptureWindow(TEXT("My Capture Window"),
WS_CHILD | WS_VISIBLE, 0, 0, 160, 120, hwndParent, nID);
CAPDRIVERCAPS CapDriverCaps = { };
CAPSTATUS CapStatus = { };
capDriverGetCaps(hWndC, &CapDriverCaps, sizeof(CAPDRIVERCAPS));
// Video source dialog box.
if (CapDriverCaps.fHasDlgVideoSource)
{
capDlgVideoSource(hWndC);
}
// Video format dialog box.
if (CapDriverCaps.fHasDlgVideoFormat)
{
capDlgVideoFormat(hWndC);
// Are there new image dimensions?
capGetStatus(hWndC, &CapStatus, sizeof (CAPSTATUS));
// If so, notify the parent of a size change.
}
// Video display dialog box.
if (CapDriverCaps.fHasDlgVideoDisplay)
{
capDlgVideoDisplay(hWndC);
}