Я написал эту статью для тех кому надоели неинтересные кнопки в Delphi. Думаю это очень полезная статья, поскольку некоторые пользователи видя старый дизайн Delphi сразу выключают программу кидая в папку "старье". В этой статье нам понадобится bmp или jpg кнопочка и собственно сам компилятор Delphi.
Вот такую кнопочку мы сделаем:
Приступим к выполнению задания. С помощью компонента Image из вкладки Additional рисуем такой вот прямоугольник:
Далее в Object Inspector находим свойство Picture, нажимаем на троеточие, затем Load и ищем jpg или bmp картинку для кнопки. Когда картинка будет найдена нажмите OK.
Теперь создаем событие Image1MouseDown и прописываем:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Image1.Height:= Image1.Height - 1; Image1.Width:= Image1.Width - 1; Image1.Left := Image1.Left + 1; Image1.Top := Image1.Top + 1; end;
Теперь создаем событие Image1MouseUp и прописываем все наоборот:
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Image1.Height:= Image1.Height + 1; Image1.Width:= Image1.Width + 1; Image1.Left := Image1.Left - 1; Image1.Top := Image1.Top - 1; end;
Хорошо. Кнопка, а вернее сказать картинка-кнопка готова. Добавляем событие Image1Click и прописываем код точно так же, как и для кнопки.
В итоге получается такой код программы:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TForm1 = class(TForm) Image1: TImage; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Image1.Height:= Image1.Height - 1; Image1.Width:= Image1.Width - 1; Image1.Left := Image1.Left + 1; Image1.Top := Image1.Top + 1; end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Image1.Height:= Image1.Height + 1; Image1.Width:= Image1.Width + 1; Image1.Left := Image1.Left - 1; Image1.Top := Image1.Top - 1; end;
end.
Желаю удачи в создании красивой программы!
Источник: |