Изменение цвета слова по которому производится «клик» Delphi

Лабораторная работа. Системные функции мыши для текстового режима
Задание: разработать программу с использованием базовых системных функций ОС WINDOWS, которая выводит в центре экрана текстовую строку из нескольких слов и изменяет цвет слова, по которому производится «клик» правой кнопкой мыши. Выход из программы – одновременное нажатие левой кнопки и клавиши ALT

Исходный код программы на Delphi:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label4MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label5MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label6MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label7MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label8MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label9MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label10MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
b:boolean;
implementation

{$R *.dfm}

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label1.Font.Color:=clred
end;

procedure TForm1.Label2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label2.Font.Color:=clred
end;

procedure TForm1.Label3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label3.Font.Color:=clred
end;

procedure TForm1.Label4MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label4.Font.Color:=clred
end;

procedure TForm1.Label5MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label5.Font.Color:=clred
end;

procedure TForm1.Label6MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label6.Font.Color:=clred
end;

procedure TForm1.Label7MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label7.Font.Color:=clred
end;

procedure TForm1.Label8MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label8.Font.Color:=clred
end;

procedure TForm1.Label9MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label9.Font.Color:=clred
end;

procedure TForm1.Label10MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
Label10.Font.Color:=clred
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not b then
begin
Action:=caNone;
ShowMessage(‘Выход осуществляется только по условию: «Выход из программы — одновременное нажатие левой кнопки и клавиши ALT»‘);
end
else Action:=cafree;

end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//
if (Button = mbLeft)and((Shift = [ssAlt,ssLeft])or(Shift = [ssAlt])) then
b:=true;
Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b:=false;
end;

end.

Блок схемы:

Понравилась статья? Поделиться с друзьями: