【Delphi】サンプルアプリ作成とCliborウィンドウの作成例
【Delphi】サンプルアプリ作成とCliborウィンドウの作成例

【Delphi】サンプルアプリ作成とCliborウィンドウの作成例

スポンサーリンク 目次
  1. はじめに
  2. プロジェクトの作成
  3. サンプルアプリの作成
  4. 境界線なしウィンドウの作成
  5. Clibor
  6. さいごに

はじめに

DelphiのCommunity Editionが公開され、Professional相当の開発ツールが無償で利用できるようになりました。今回はサンプルアプリを作成してみようと思います。

関連 【Delphi】Community Editionを使ってみる(Cliborの開発秘話も) 無料で使えるDelphi Community Editionを試してみました。Cliborの開発でも使用しています。 使用するバージョン
  • Windows 11 / 10
  • Delphi Community Edition

本記事は、Windows版Cliborに関する内容です。

プロジェクトの作成

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はクリップボードを履歴を取得することができるフリーソフトです。様々な機能がありますので、ぜひ試してみてください。

Cliborクリップボード履歴ソフト「Clibor」の公式サイトchigusa-web.com

さいごに

無償で利用できる開発ツールですので、皆さんもチャレンジしてみてください!特にWindowsアプリの開発のみならず、他のプラットフォームの開発も可能なので、試してみるのはアリだと思います。

📎📎📎📎📎📎📎📎📎📎