unit1.pas

来自「what do you want to? an fox」· PAS 代码 · 共 95 行

PAS
95
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DirectDraw;  // <-- 促捞泛飘 靛肺快 蜡粗捞 眠啊 登菌促.

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormClick(Sender: TObject);
  private
    { Private declarations }
    FDDraw: IDirectDraw7;
  public
    { Public declarations }
    function InitDirectDraw(): LongBool;
    procedure KillDirectDraw();
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.InitDirectDraw(): LongBool;
var
  hr: HResult;
begin
  Result := False;

  // 促捞泛飘 靛肺快甫 积己
  hr := DirectDrawCreateEx(nil, FDDraw, IID_IDirectDraw7, nil);
  if hr <> DD_OK then   // 府畔罐篮 蔼捞 DD_OK啊 酒聪搁 俊矾.
    Exit;

  // 刀痢葛靛 汲沥
  // 傈眉拳搁 趣篮, 扩档快 葛靛肺 积己俊 静烙
  hr := FDDraw.SetCooperativeLevel(Handle, DDSCL_FULLSCREEN or DDSCL_EXCLUSIVE);
  if hr <> DD_OK then
    Exit;

  // 秦惑档甫 官厕
  hr := FDDraw.SetDisplayMode(640, 480, 16, 0, 0);
  if hr <> DD_OK then
    Exit;

  Result := True;
end;

procedure TForm1.KillDirectDraw();
begin
  // 积己等 按眉甸阑 副府令 矫挪促.
  // 积己等 按眉甸篮 积己等 鉴辑 馆措肺 副府令 矫难具 茄促.
  if Pointer(FDDraw) <> nil then
  begin
    // 副府令
    FDDraw._Release;
    // 副府令窍绊, 葛电 按眉绰 nil肺 父甸绢 林绢具茄促.
    Pointer(FDDraw) := nil;
  end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  // 傈眉 拳搁俊辑绰 坷弗率 盖困(芒 农扁 炼例, 辆丰 滚瓢..)俊 滚瓢甸捞 鞘夸绝扁
  // 锭巩俊, 汽阑 None 屈怕肺 官层霖促.
  BorderStyle := bsNone;

  if not InitDirectDraw() then
  begin
    ShowMessage('傈眉拳搁 檬扁拳俊 角菩沁嚼聪促.');
    // 橇肺弊伐 辆丰 矫虐扁
    Application.Terminate;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  KillDirectDraw();
end;

procedure TForm1.FormClick(Sender: TObject);
begin
  Close;
end;


end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?