はじめに
DelphiのCommunity Editionが公開され、Professional相当の開発ツールが無償で利用できるようになりました。
今回はサンプルアプリを作成してみようと思います。
プロジェクトの作成
Delphiを起動して、「ファイル→新規作成→Windows VCLアプリケーション」をクリックします。
以下のような画面が表示されました。
サンプルアプリの作成
ボタンを配置してみます。
基本的にはVisual Basicなどと同じような感じで使用できます。
右下のパレットから「button」と検索します。
buttonをフォームにドラッグアンドドロップします。
ボタンを選択した状態で、Captionを変更します。
これでボタンの表示が変わりました。
ボタンをダブルクリックすると、ボタンのクリックイベントを定義できます。
以下のように、メッセージダイアログを表示するコードを記述しました。
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('サンプルアプリです!');
end;
デバッグ実行してみます。
アプリが実行され、ボタンをクリックするとメッセージダイアログが表示されました。
今度は終了ボタンを配置しました。
アプリを終了するコードを記述しました。
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
境界線なしウィンドウの作成
通常のフォームは、以下のようなウィンドウで上部にバーが表示されています。
Cliborのようなウィンドウにしてみましょう。
FormのBorderStyleをbsNoneを選択します。
ついでに、FormのPositionをpoScreenCenterに変更します。
実行してみましょう。
以下のような、境界線なしのウィンドウになりました。
フォームに枠線を表示してみましょう。
先程のFormのコードを以下のように修正しました。
WMNCPaintで、フォームの枠線を表示しています。
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private 宣言 }
procedure WMNCPaint(var Msg: TWMNCPaint); message WM_NCPAINT;
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('サンプルアプリです!');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
var
R: TRect;
begin
inherited;
Self.Refresh;
with TCanvas.Create do begin
try
Handle := GetWindowDC(Self.Handle);
Brush.Style := bsClear;
Pen.Mode := pmCopy;
// 枠線の色と太さ
Pen.Color := StringToColor('$004080FF');
Pen.Width := 10;
GetWindowRect(Self.Handle, R);
RoundRect(0, 0, R.Right-R.Left-0, R.Bottom-R.Top-0, 0, 0);
finally
ReleaseDC(Self.Handle, Handle);
Free;
end;
end;
end;
end.
実行してみるとこのようなフォームになりました。
なんとなくCliborっぽくなりました。
きちんと動作させるにはもっと実装が必要ですが、サンプルコードの紹介でした。
Clibor
Cliborはクリップボードを履歴を取得することができるフリーソフトです。
様々な機能がありますので、ぜひ試してみてください。
さいごに
無償で利用できる開発ツールですので、皆さんもチャレンジしてみてください!
特にWindowsアプリの開発のみならず、他のプラットフォームの開発も可能なので、試してみるのはアリだと思います。
コメント