【delphi开源代码栏目提醒】:网学会员在delphi开源代码频道为大家收集整理了BaseFilterEditor.pas提供大家参考,希望对大家有所帮助!
(*********************************************************************
* DSPack 2.3.3 *
* *
* home page : http://www.progdigy.com *
* email : 3710167@qq.com *
* Thanks to Michael Andersen. (DSVideoWindowEx) *
* *
* date : 21-02-2003 *
* *
* The contents of this file are used with permission, subject to *
* the Mozilla Public License Version 1.1 (the "License"); you may *
* not use this file except in compliance with the License. You may *
* obtain a copy of the License at *
* http://www.mozilla.org/MPL/MPL-1.1.html *
* *
* Software distributed under the License is distributed on an *
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or *
* implied. See the License for the specific language governing *
* rights and limitations under the License. *
* *
*********************************************************************)
{$IFDEF VER140} {$WARN SYMBOL_DEPRECATED OFF} {$ENDIF}
{$IFDEF VER150}
{$WARN SYMBOL_DEPRECATED OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CAST OFF}
{$ENDIF}
unit BaseFilterEditor;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DSUTIL, DirectShow9, ComCtrls, DSPack, Menus, ExtCtrls,
Buttons;
type
TFormBaseFilter = class(TForm)
btOK: TButton;
btCancel: TButton;
FilterGraph: TFilterGraph;
Filter: TFilter;
PopupMenu: TPopupMenu;
PropertyPage: TMenuItem;
VFWDisplay: TMenuItem;
VFWFormat: TMenuItem;
VFWSource: TMenuItem;
VFWConfig: TMenuItem;
VFWCapture: TMenuItem;
Config1: TMenuItem;
VFWAbout: TMenuItem;
PinMenu: TPopupMenu;
PinProperty: TMenuItem;
PageControl1: TPageControl;
SelectorSheet: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label6: TLabel;
Filters: TTreeView;
Interfaces: TListBox;
Pins: TListBox;
PinsSheet: TTabSheet;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Pins1: TListBox;
PinInterfaces: TListBox;
MediaTypes: TListBox;
MonikerTag: TMemo;
InfoBtn: TSpeedButton;
InfoSheet: TTabSheet;
Panel1: TPanel;
Panel2: TPanel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Label16: TLabel;
Label17: TLabel;
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure PopupMenuPopup(Sender: TObject);
procedure PropertyPageClick(Sender: TObject);
procedure VFWDisplayClick(Sender: TObject);
procedure VFWFormatClick(Sender: TObject);
procedure VFWSourceClick(Sender: TObject);
procedure Config1Click(Sender: TObject);
procedure VFWAboutClick(Sender: TObject);
procedure PinMenuPopup(Sender: TObject);
procedure PinPropertyClick(Sender: TObject);
procedure PinsSheetShow(Sender: TObject);
procedure Pins1Click(Sender: TObject);
procedure InterfacesDblClick(Sender: TObject);
procedure PinInterfacesDblClick(Sender: TObject);
procedure PinsDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure FiltersChange(Sender: TObject; Node: TTreeNode);
procedure PinsMeasureItem(Control: TWinControl; Index: Integer;
var Height: Integer);
procedure FiltersDblClick(Sender: TObject);
procedure FiltersCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure InfoBtnClick(Sender: TObject);
public
SysDevEnum: TSysDevEnum;
PinList: TPinList;
InPinPic,
OutPinPic : TBitmap;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure RefreshTree;
// procedure FiltersClick(Sender: TObject);
procedure GetFilterInfo;
end;
TDSitf = record
name : string;
itf : TGUID;
end;
pNodeItem = ^TNodeItem;
TNodeItem = Record
Index : integer;
Color : TColor;
MonikerStr : WideString;
End;
const
FilterColors : array[0..4] of TColor = (clBlack, clPurple, clBlue, clRed, clGreen);
DSItfs : array[0..382] of TDSitf =
((name: 'IPin'; itf: '{56A86891-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IEnumPins'; itf: '{56A86892-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IEnumMediaTypes'; itf: '{89C31040-846B-11CE-97D3-00AA0055595A}'),
(name: 'IFilterGraph'; itf: '{56A8689F-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IEnumFilters'; itf: '{56A86893-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IMediaFilter'; itf: '{56A86899-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IBaseFilter'; itf: '{56A86895-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IReferenceClock'; itf: '{56A86897-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IReferenceClock2'; itf: '{36B73885-C2C8-11CF-8B46-00805F6CEF60}'),
(name: 'IMediaSample'; itf: '{56A8689A-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IMediaSample2'; itf: '{36B73884-C2C8-11CF-8B46-00805F6CEF60}'),
(name: 'IMemAllocator'; itf: '{56A8689C-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IMemInputPin'; itf: '{56A8689D-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IAMovieSetup'; itf: '{A3D8CEC0-7E5A-11CF-BBC5-00805F6CEF20}'),
(name: 'IMediaSeeking'; itf: '{36B73880-C2C8-11CF-8B46-00805F6CEF60}'),
(name: 'IEnumRegFilters'; itf: '{56A868A4-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IFilterMapper'; itf: '{56A868A3-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IFilterMapper2'; itf: '{B79BB0B0-33C1-11D1-ABE1-00A0C905F375}'),
(name: 'IQualityControl'; itf: '{56A868A5-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IOverlayNotify'; itf: '{56A868A0-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IOverlay'; itf: '{56A868A1-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IMediaEventSink'; itf: '{56A868A2-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IFileSourceFilter'; itf: '{56A868A6-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IFileSinkFilter'; itf: '{A2104830-7C70-11CF-8BCE-00AA00A3F1A6}'),
(name: 'IFileSinkFilter2'; itf: '{00855B90-CE1B-11D0-BD4F-00A0C911CE86}'),
(name: 'IFileAsyncIO'; itf: '{56A868A7-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IGraphBuilder'; itf: '{56A868A9-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'ICaptureGraphBuilder'; itf: '{BF87B6E0-8C27-11D0-B3F0-00AA003761C5}'),
(name: 'IAMCopyCaptureFileProgress'; itf: '{670D1D20-A068-11D0-B3F0-00AA003761C5}'),
(name: 'IFilterGraph2'; itf: '{36B73882-C2C8-11CF-8B46-00805F6CEF60}'),
(name: 'IStreamBuilder'; itf: '{56A868BF-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IAsyncReader'; itf: '{56A868AA-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IGraphVersion'; itf: '{56A868AB-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IResourceConsumer'; itf: '{56A868AD-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IResourceManager'; itf: '{56A868AC-0AD4-11CE-B03A-0020AF0BA770}'),
(name: 'IDist
上一篇:
BaseEdit.pas
下一篇:
数控回转工作台设计 毕业设计word2003