ShowDialog Method (original) (raw)
Summary
Shows a specified property dialog.
Syntax
Parameters
dialog
Value that specifies which dialog to show. Must be one of the CaptureDlg enumeration values.
hWnd
Value that specifies the dialog owner's window handle.
Example
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public void HasDialogExample()
{
// reference the capture control
CaptureCtrl capturectrl = _form.CaptureCtrl;
// output file for capture
string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_HasDialogExample.avi");
try
{
// try to find a USB camera
if (capturectrl.VideoDevices["USB"] == null)
throw new Exception("No USB video device available");
capturectrl.VideoDevices["USB"].Selected = true;
// try to find a USB audio device
if (capturectrl.AudioDevices["USB"] == null)
throw new Exception("No USB audio device available");
capturectrl.AudioDevices["USB"].Selected = true;
// The HasDialog method tells us that the control
// can display the desired settings dialog.
// check to see if the Capture properties dialog is available
if (capturectrl.HasDialog(CaptureDlg.Capture))
{
// now show it to change some settings
capturectrl.ShowDialog(CaptureDlg.Capture, _form);
_result = true;
}
// set MPEG2 as the video compressor
capturectrl.VideoCompressors.Mpeg2.Selected = true;
// set AC3 as the audio compressor
capturectrl.AudioCompressors.AC3.Selected = true;
// set the target output file and format
capturectrl.TargetFile = outFile;
// set the target output format
capturectrl.TargetFormat = TargetFormatType.AVI;
// check whether we can capture video and audio
if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
{
capturectrl.FrameRate = 5; // 5 frames per second
capturectrl.UseFrameRate = true;
capturectrl.TimeLimit = 10; // just 10 seconds of capture time
capturectrl.UseTimeLimit = true;
// start the capture process
capturectrl.StartCapture(CaptureMode.VideoAndAudio);
// we'll loop on the state and pump messages for this example.
// but you should not need to if running from a Windows Forms application.
while (capturectrl.State == CaptureState.Running)
Application.DoEvents();
}
}
catch (Exception)
{
_result = false;
}
}
static class LEAD_VARS
{
public const string MediaDir = @"C:\LEADTOOLS23\Media";
}