📄 main.~pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, ActnList, MMSystem, Menus, ImgList,
ShellApi, MPlayer, Urlmon, ExtDlgs, Jpeg;
const //自定义消息
WM_MY_Notify = WM_USER + 828;
type
TFormMain = class(TForm)
Image1: TImage;
Panel_open: TPanel;
Image_open: TImage;
Panel_list: TPanel;
Image_list: TImage;
Panel_play: TPanel;
Image_play: TImage;
Panel_pause: TPanel;
Image_pause: TImage;
Panel_stop: TPanel;
Image_stop: TImage;
Panel_discard: TPanel;
Image_discard: TImage;
Panel_next: TPanel;
Image_next: TImage;
Panel_step: TPanel;
Image_step: TImage;
Panel_back: TPanel;
Image_back: TImage;
Panel_prev: TPanel;
Image_prev: TImage;
Panel_video: TPanel;
Image_video: TImage;
Panel_real: TPanel;
Image_real: TImage;
Panel_flash: TPanel;
Image_flash: TImage;
Panel_close: TPanel;
Image_close: TImage;
Panel_help: TPanel;
Image_help: TImage;
Panel_about: TPanel;
Image_about: TImage;
Panel_audio: TPanel;
Image_audio: TImage;
Panel_min: TPanel;
Image_min: TImage;
Panel_author: TPanel;
Image_author: TImage;
Label_totaltime: TLabel;
Label_playtime: TLabel;
Panel_Sound: TPanel;
Panel_Leftvolume: TPanel;
TrackBar1: TTrackBar;
ActionList1: TActionList;
ActionOpenFile: TAction;
ActionPlay: TAction;
PopupMenu1: TPopupMenu;
TrackBar2: TTrackBar;
Panel_rightVolume: TPanel;
TrackBar3: TTrackBar;
ImageList1: TImageList;
PopAbout: TMenuItem;
PopPause: TMenuItem;
N1: TMenuItem;
PopNext: TMenuItem;
PopStep: TMenuItem;
PopBack: TMenuItem;
PopPrev: TMenuItem;
N2: TMenuItem;
PopFlash: TMenuItem;
PopReal: TMenuItem;
N3: TMenuItem;
PopExit: TMenuItem;
PopOpen: TMenuItem;
PopList: TMenuItem;
ActionPause: TAction;
ActionNext: TAction;
ActionPrev: TAction;
ActionBack: TAction;
ActionStep: TAction;
ActionFlash: TAction;
ActionReal: TAction;
ActionClose: TAction;
ActionFileList: TAction;
ActionAbout: TAction;
ActionHelp: TAction;
ActionAuthor: TAction;
ActionDisplay: TAction;
Image2: TImage;
Timer_play: TTimer;
Timer_system: TTimer;
TrackBar_play: TTrackBar;
Panel_process: TPanel;
Label_systime: TLabel;
PopPlay: TMenuItem;
Edit1: TEdit;
PopAudio: TMenuItem;
SavePic: TSavePictureDialog;
PopupMenu3: TPopupMenu;
Pop_VideoWin: TMenuItem;
Pop_FlashWin: TMenuItem;
Pop_RealWin: TMenuItem;
Pop_FullDisplayWin: TMenuItem;
ActionImgRepaint: TAction;
ActionCapture: TAction;
Pop_OtherWin: TMenuItem;
Timer_capture: TTimer;
procedure Image_closeClick(Sender: TObject);
procedure Image_closeMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
procedure Image_authorMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_authorMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure Image_authorMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_closeMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_closeMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_helpMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_helpMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_helpMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_aboutMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_aboutMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_aboutMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_audioMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_audioMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_audioMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_minMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_minMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_minMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_openMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_openMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_openMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_listMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_listMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_listMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_playMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_playMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_playMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_pauseMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_pauseMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_pauseMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_stopMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_stopMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_stopMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_discardMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_discardMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_discardMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_prevMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_prevMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_prevMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_nextMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_nextMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_nextMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_stepMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_stepMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_stepMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_backMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_backMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_backMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_FlashMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_FlashMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_FlashMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_RealMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_RealMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_RealMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_VideoMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_VideoMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image_VideoMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image_minClick(Sender: TObject);
procedure ActionCloseExecute(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ActionFlashExecute(Sender: TObject);
procedure ActionRealExecute(Sender: TObject);
procedure Image_openClick(Sender: TObject);
procedure ActionFileListExecute(Sender: TObject);
procedure ActionAboutExecute(Sender: TObject);
procedure ActionHelpExecute(Sender: TObject);
procedure ActionDisplayExecute(Sender: TObject);
procedure Image_aboutClick(Sender: TObject);
procedure Image_helpClick(Sender: TObject);
procedure Image_listClick(Sender: TObject);
procedure Image_playClick(Sender: TObject);
procedure Image_pauseClick(Sender: TObject);
procedure Image_stopClick(Sender: TObject);
procedure Image_nextClick(Sender: TObject);
procedure Image_stepClick(Sender: TObject);
procedure Image_backClick(Sender: TObject);
procedure Image_prevClick(Sender: TObject);
procedure Image_discardClick(Sender: TObject);
procedure Timer_systemTimer(Sender: TObject);
procedure Timer_playTimer(Sender: TObject);
procedure TrackBar_playChange(Sender: TObject);
procedure Image_flashClick(Sender: TObject);
procedure Image_realClick(Sender: TObject);
procedure PopOpenClick(Sender: TObject);
procedure ActionNextExecute(Sender: TObject);
procedure ActionPrevExecute(Sender: TObject);
procedure ActionPlayExecute(Sender: TObject);
procedure ActionPauseExecute(Sender: TObject);
procedure ActionOpenFileExecute(Sender: TObject);
procedure ActionStepExecute(Sender: TObject);
procedure ActionBackExecute(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Pop_processClick(Sender: TObject);
procedure Image_videoClick(Sender: TObject);
procedure Image_authorClick(Sender: TObject);
procedure Image_audioClick(Sender: TObject);
procedure PopAudioClick(Sender: TObject);
procedure ActionImgRepaintExecute(Sender: TObject);
procedure ActionCaptureExecute(Sender: TObject);
procedure Timer_captureTimer(Sender: TObject);
private
{ Private declarations }
//定义任务栏图标所需的数据结构
TrayIcon: PNOTIFYICONDATA;
//生成任务图标所需的图像
ICON: TICON;
function ZeroFill (size:integer;s:string):string;
public
{ Public declarations }
procedure NotifyIconClick(var msg: TMessage); Message WM_MY_Notify;
end;
var
FormMain: TFormMain;
PositionChange : Boolean;
tmpBitmap : TBitmap; //位图
tmpRect : TRect; //位图区域
iBitmapValide : Boolean; //控制抓图
P1 : TPoint;
tmpHWND : HWND;
HDCScreen : HDC;
iWidth,iHeight : Integer;
NoWait : Boolean; //控制抓图
implementation
uses about, help, Filelist, Realplayer, Flashplayer, Movie, realmng;
{$R *.dfm}
procedure TFormMain.Image_closeClick(Sender: TObject);
begin
close;
end;
procedure TFormMain.Image_closeMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
Image_close.Hint := '关闭窗口';
end;
//声音开关,Ctrl+A
procedure TFormMain.Image_audioClick(Sender: TObject);
var t, v: longint;
begin
waveOutGetVolume(0,@v);
if hi(v) > hi (v shr 16) then
begin
if TrackBar1.Position = hi(v) then
waveOutSetVolume(0,0)
else
begin
t := TrackBar1.Position;
v := (t shl 8)or(t shl 24);
waveOutSetVolume(0,v);
end;
end
else
begin
if TrackBar1.Position = hi(v shr 16) then
waveOutSetVolume(0,0)
else
begin
t := TrackBar1.Position;
v := (t shl 8)or(t shl 24);
waveOutSetVolume(0,v);
end;
end;
end;
procedure TFormMain.FormCreate(Sender: TObject);
var
v : longint;
begin
//获取系统音量
waveOutGetVolume(0,@v);
TrackBar2.Position := hi(255-v);
TrackBar3.Position := hi((255-v) shr 16);
if hi(v) > hi (v shr 16) then
TrackBar1.Position := hi(v)
else
TrackBar1.Position := hi(v shr 16);
//创建对象
New(TrayIcon);
//给对象赋值
TrayIcon.cbSize:=Sizeof(TrayIcon^);
TrayIcon.uID:=200;
TrayIcon.Wnd:=Handle;
TrayIcon.uCallbackMessage := WM_MY_Notify;
TrayIcon.uFlags:=NIF_ICON+NIF_Tip + NIF_MESSAGE;
TrayIcon.szTip:='优利媒体播放系统V1.1';
//创建图标
Icon:=TIcon.Create;
Icon.Assign(Image2.Picture);
TrayIcon.hIcon:=Icon.Handle;
//生成任务栏图标
Shell_NotifyIcon(NIM_ADD,TrayIcon);
//初始化控制变量
PositionChange := False;
end;
//任务栏上图标响应的消息
procedure TFormMain.NotifyIconClick(var msg:TMessage);
//声明对象
var p:TPoint;
begin
try
//判断事件属性
case msg.LParam of
//如果是鼠标右键按下
WM_RBUTTONDOWN:
begin
//得到鼠标按下处的点
GetCursorPos(p);
//弹出快捷菜单
PopupMenu1.Popup(p.X,p.Y);
end;
WM_LBUTTONDBLCLK:
begin
Application.ShowMainForm := True;
ShowWindow(Application.Handle,0);
FormMain.Show;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -