📄 main.pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,VFW, ExtCtrls, Menus,PreviewRateSet,VideoView,CapStatusWin,
ExtDlgs,CapParmsForm, Buttons,AVITempAlloc,ManualCap;
type
TForm1 = class(TForm)
DriverIndexLabel : TLabel;
DriverIndexComboBox : TComboBox;
ScaleCheckBox : TCheckBox;
PropCheckBox : TCheckBox;
MainMenu1 : TMainMenu;
ParmsMenuItem : TMenuItem;
DriverNameMenuItem : TMenuItem;
DriverCapsMenuItem : TMenuItem;
SetupMenuItem : TMenuItem;
DisplayModeMenu : TMenuItem;
PreviewMode : TMenuItem;
OverlayMode : TMenuItem;
PreviewRateMenu : TMenuItem;
CompressionMenu : TMenuItem;
DisplayMenu : TMenuItem;
FormatMenu : TMenuItem;
VideoSourceMenu : TMenuItem;
AVITempMenu : TMenuItem;
ViewMenuItem : TMenuItem;
LiveWinMenu : TMenuItem;
StatusWinMenu : TMenuItem;
EditMenu : TMenuItem;
CopyMenu : TMenuItem;
SaveDIBMenu : TMenuItem;
capParmsMenu : TMenuItem;
SavePictureDialog1: TSavePictureDialog;
RECGroupBox: TGroupBox;
StartREC : TSpeedButton;
StopREC : TSpeedButton;
SaveAVIButton: TSpeedButton;
RecTimer: TTimer;
SaveAVIDialog: TSaveDialog;
ManualCapBtn: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DriverIndexComboBoxChange(Sender: TObject);
procedure DriverNameMenuItemClick(Sender: TObject);
procedure DriverCapsMenuItemClick(Sender: TObject);
procedure PreviewModeClick(Sender: TObject);
procedure OverlayModeClick(Sender: TObject);
procedure PreviewRateMenuClick(Sender: TObject);
procedure ScaleCheckBoxClick(Sender: TObject);
procedure CompressionMenuClick(Sender: TObject);
procedure DisplayMenuClick(Sender: TObject);
procedure FormatMenuClick(Sender: TObject);
procedure VideoSourceMenuClick(Sender: TObject);
procedure PropCheckBoxClick(Sender: TObject);
procedure LiveWinMenuClick(Sender: TObject);
procedure StatusWinMenuClick(Sender: TObject);
procedure CopyMenuClick(Sender: TObject);
procedure SaveDIBMenuClick(Sender: TObject);
procedure capParmsMenuClick(Sender: TObject);
procedure SetRECStatus(Sender: TObject);
procedure RecTimerTimer(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure AVITempMenuClick(Sender: TObject);
procedure SaveAVIButtonClick(Sender: TObject);
procedure ManualCapBtnClick(Sender: TObject);
private
{ Private declarations }
Function SetDisplayMode(ModeIndex:integer):Boolean;
procedure ShowVideoViewForm(value:Boolean);
procedure ShowVideoStatusForm(value:Boolean);
procedure VideoViewHide(Sender:TObject);
Procedure StatusWinHide(Sender:TObject);
function ShowCapParmsDlg:Boolean;
function CapParmsToStr:string;
procedure BeginREC;
procedure EndREC;
procedure AllControlsEnable(en:Boolean);
Function SelectAVIFile:Boolean;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
GetVideoDriverList(DriverIndexComboBox.Items );
VideoViewForm:= TVideoViewForm.Create(self);
VideoViewForm.OnHide:=VideoViewHide;
VideoViewForm.Show;
VideoStatusForm:=TVideoStatusForm.Create(self);
VideoStatusForm.OnHide:=StatusWinHide;
VideoViewForm.OnStatus:=VideoStatusForm.OnCapStatus;
VideoStatusForm.Show;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if assigned(VideoViewForm) then
begin
VideoViewForm.Free;
end;
if assigned(VideoStatusForm) then
begin
VideoStatusForm.Free;
end;
end;
procedure TForm1.DriverIndexComboBoxChange(Sender: TObject);
begin
VideoViewForm.DriverIndex := DriverIndexComboBox.ItemIndex;
VideoViewForm.DriverOpen := TRUE;
PreviewModeClick(nil);
RECGroupBox.Enabled := VideoViewForm.DriverOpen;
end;
procedure TForm1.DriverNameMenuItemClick(Sender: TObject);
begin
if VideoViewForm.DriverOpen then
begin
showMessage('ヘ玡硈钡
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -