【Delphi】サンプルアプリ作成とCliborウィンドウの作成例
スポンサーリンク 目次- はじめに
- プロジェクトの作成
- サンプルアプリの作成
- 境界線なしウィンドウの作成
- Clibor
- さいごに
はじめに
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アプリの開発のみならず、他のプラットフォームの開発も可能なので、試してみるのはアリだと思います。