unit1.pas

来自「Delphi 7应用编程150例附书源码,第2章-图像处理实例」· PAS 代码 · 共 59 行

PAS
59
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, CommCtrl, StdCtrls, ExtCtrls, ColorGrd;

type
  TfrmMain = class(TForm)
    btnApply: TButton;
    ColorGrid1: TColorGrid;
    CheckBox1: TCheckBox;
    procedure btnApplyClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function GetDesktopHand: THandle;
    procedure SetTextColor(ForeClr, BackClr: TColor);
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

function TfrmMain.GetDesktopHand: THandle;
begin
  Result:=FindWindow('progman',nil);
  Result:=GetWindow(Result,GW_Child);
  Result:=GetWindow(Result,GW_Child);
end;

procedure TfrmMain.SetTextColor(ForeClr, BackClr: TColor);
var
    Hand: THandle;
begin
  Hand:= GetDesktopHand;
  Listview_SetTextColor(Hand,ForeClr);
  // 设置文字前景色
  Listview_SetTextBkColor(Hand,BackClr);
  // 设置文字背景色,crNone 为透明
  InvalidateRect(0, nil, True);
  //重绘桌面
end;

procedure TfrmMain.btnApplyClick(Sender: TObject);
begin
    if self.CheckBox1.Checked then
       SetTextColor(ColorGrid1.ForegroundColor,crNone)
    else
       SetTextColor(ColorGrid1.ForegroundColor,ColorGrid1.BackgroundColor);
end;

end.

⌨️ 快捷键说明

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