main.pas

来自「《Delphi深度历险》附书源码 Delphi学习书本」· PAS 代码 · 共 80 行

PAS
80
字号
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI, Menus, ExtCtrls, ComCtrls, Registry;

const
  HOOKDESK_DLL      = 'dihook.dll';
  
  ESSAY_FILENAME    = 'essay.txt';            
  
  REGISTRY_KEY      = 'Software\Xshadow\Desktop Illusionist';
  
  SEC_GENERAL       = 'General';              
  
  REG_SHOWWALLPAPER = 'ShowWallPaper';        
  REG_FONT          = 'Font';                 
  REG_SEPCOLOR      = 'Seperator Color';      
  
type
  TMainForm = class(TForm)
    pnlEssay: TPanel;
    mmoEssay: TMemo;
    mnuMain: TMainMenu;
    F1: TMenuItem;
    mnuExit: TMenuItem;
    mnuHide: TMenuItem;
    C1: TMenuItem;
    mnuFont: TMenuItem;
    mnuWrite: TMenuItem;
    N2: TMenuItem;
    dlgFont: TFontDialog;
    dlgSepColor: TColorDialog;
    mnuSeperatorColor: TMenuItem;
    mnuEdit: TMenuItem;
    mnuInsertSeperator: TMenuItem;
    N1: TMenuItem;
    mnuShowDesktopWallPaper: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure mnuWriteClick(Sender: TObject);
    procedure mnuExitClick(Sender: TObject);
    procedure mnuFontClick(Sender: TObject);
    procedure mnuHideClick(Sender: TObject);
    procedure mnuSeperatorColorClick(Sender: TObject);
    procedure mnuInsertSeperatorClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure mnuShowDesktopWallPaperClick(Sender: TObject);
  private
    procedure ApplyColor;
    procedure ApplyFont;
    procedure ApplyEssay;
    
    procedure WMSysCommand(var message: TWMSysCommand); message WM_SYSCOMMAND;
  public
  end;
  
var
  MainForm: TMainForm;
  
procedure SetMainWindow(Wnd: HWND); stdcall;
function SetDeskHook(Wnd: HWND): Boolean; stdcall;

procedure SetShowDesktopWallPaper(Value: Boolean); stdcall;
procedure SetEssay(index: Integer; Str: PChar); stdcall;
procedure SetEssayCount(Count: Integer); stdcall;
procedure SetEssayFont(LF: PLogFont); stdcall;
procedure SetEssayColor(SepColor, TextColor: COLORREF); stdcall;

implementation

uses xDesktop, xFonts;

{$R *.DFM}

procedure TMainForm.FormCreate(Sender: TObject);
begin
  // 璝 Active Desktop 币笆い, 玥挡

⌨️ 快捷键说明

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