Skip to content

Instantly share code, notes, and snippets.

@henryscala
Created February 7, 2022 10:03
Show Gist options
  • Save henryscala/b08a50f74710ff41a78a716498e6d96e to your computer and use it in GitHub Desktop.
Save henryscala/b08a50f74710ff41a78a716498e6d96e to your computer and use it in GitHub Desktop.
pascal draw on screen
unit uDrawScreen;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,LCLIntf, LCLType;
type
{ TdrawScreenColor }
TdrawScreenColor = class(TForm)
btnRed: TButton;
btnGreen: TButton;
procedure btnGreenClick(Sender: TObject);
procedure btnRedClick(Sender: TObject);
procedure drawScreen(c:TColor);
private
public
end;
var
drawScreenColor: TdrawScreenColor;
implementation
{$R *.lfm}
{ TdrawScreenColor }
procedure TdrawScreenColor.btnRedClick(Sender: TObject);
begin
drawScreen(clRed);
end;
procedure TdrawScreenColor.btnGreenClick(Sender: TObject);
begin
drawScreen(clGreen);
end;
procedure TdrawScreenColor.drawScreen(c: TColor);
var
screenCanvas: TCanvas;
begin
screenCanvas := TCanvas.Create;
screenCanvas.Brush.Color:=c;
try
screenCanvas.Handle := GetDC( 0 );
screenCanvas.Rectangle(0,0,Screen.DesktopWidth,Screen.DesktopHeight);
finally
ReleaseDC( 0, screenCanvas.Handle );
screenCanvas.Free;
end;
end;
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment