Codecのリストとプロパティページへのアクセス
ICImagingControlからコーデックをリストしてプロパティを呼び出し、設定する方法を示しています。
Software | IC Imaging Control 3.4, Visual Studio™ 2019 |
---|---|
サンプル(C#) | codec_property_page_cs_3.4.zip |
まず、リストボックスとボタンをフォームにドラッグし、それぞれlstCodecsとbtnShowPropertyPageと名付けます。このリストボックスには、システムで有効なコーデックリストを取得して表示します。ボタンは選択されたコーデックのプロパティページを表示するのに使用します。
lstCodecsリストボックスにはシステムで有効なコーデックの名称をリストして表示させます。このタスクにはコレクション.AviCompressorsを使用します。単純にそのDataSourceをリストボックス lstCodecsに引き渡すだけでこの作業は完了です。
private void Form1_Load(object sender, System.EventArgs e)
{
lstCodecs.DataSource = icImagingControl1.AviCompressors;
}
ユーザーがこのリストボックスからどれかを選択すると、リストボックスのイベントハンドラーが起動し、この中で AviCompressorオブジェクトがコールされ、AviCompressor.PropertyPageAvailableによって提供されているプロパティーページをチェックします。この AviCompressor.PropertyPageAvailableがtrueを返す場合はボタンbtnShowPropertyPageを有効にします。それ以外の場合は無効とします。
private void lstCodecs_SelectedIndexChanged(object sender, System.EventArgs e)
{
AviCompressor codec = lstCodecs.SelectedItem as AviCompressor;
if( codec != null )
{
btnShowPropertyPage.Enabled = codec.PropertyPageAvailable;
}
}
btnShowPropertyPage ボタンをクリックすると、選択されたコーデックのプロパティページを開きます。ユーザーはそのプロパティページで設定の変更を行えます。ボタンイベントハンドラーの中でAviCompressor.ShowPropertyPage()をコールする事で、このプロパティダイアログが表示されます。
private void btnShowPropertyPage_Click(object sender, System.EventArgs e)
{
AviCompressor codec = lstCodecs.SelectedItem as AviCompressor;
if( codec != null )
{
codec.ShowPropertyPage();
}
}