広告

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

Delphi

当サイトではアフィリエイト広告を利用しています。

広告

はじめに

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

使用するバージョン
  • 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」の公式サイト

さいごに

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

CliborDelphiOSWindowsプログラミング作ってみよう個人開発
広告

個人開発

千草 @chigusaweb

現役のITエンジニア。 気ままにコードを書いたり技術情報を発信しています。 Webアプリ/Windows・Macアプリ/モバイルアプリなど。 (Java, PHP, Javascript, Swift, Python, C#, 他) 個人開発:Clibor, Quipha, TXT-Crypter, 符計算特訓, チグサツール Kindle本: Laravel9 実践入門, 他

クリップボード履歴

Clibor

Windows

Cliborはシンプルで高機能なクリップボード履歴ソフトです。 また普段よく使うワードを定型文として登録し、いつでもクリップボードに保存することができます。高度なテキスト整形・FIFOモード・ホットキーに対応。

クリップボード履歴

Windows版Cliborの利便性を、そのままMacでも。 定型文登録、高度なテキスト整形、FIFOモードなど、便利なクリップボード履歴機能を利用できます。macOS最新のTahoeにも対応。

テキスト暗号化

テキストを暗号化してURLで共有・保存できる無料サービスです。 パスフレーズを知る人だけが復号できます。登録不要、データはサーバーに保存されません。 Notionでも利用できます。

学習

Quipha

Web / iOS

自分だけの問題集や問題を作成し、クイズを行い、学習に活用することができるアプリです。 例えば、学校の授業、語学学習、IT資格やその他の資格など多彩な分野での学習を支援します。 いつでも、どこでも、あなたの学習をサポート。

ツール

日常の「ちょっとした効率化」をサポートするWeb便利ツール集。 テキスト・データ処理から最新のAI連携まで、日々のちょっとした手間でググりがちなユーティリティを1つの場所に集約。

麻雀

麻雀の符計算をひたすら特訓しマスターしましょう。 初心者の方はもちろん、もっと速く計算したい方にも役立ちます。 5万対局以上の実践から問題を収録。

コメント

タイトルとURLをコピーしました