記事カテゴリ

ユーザー機能


 2024年4月24日(水) 16:40 JST

[Delphi] ボタンのキャプションを2行にする

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    10,757

ボタンのキャプションを2行表示したいと思ったことはありませんか?
実はボタンのキャプションを2行にするのはすごく簡単です。しかし、コンポーネントにしないで実現することは難しいのでコンポーネントを作成してみます。
作り方は、TButtonを継承したボタンを作成します。このボタンのCreateParamをオーバーライドします。
ここでウィンドウ作成パラメータ(Style)にBS_MULTILINEという値を付けl加えることで、2行表示ができるようになります。

注 コンポーネントの作成は[コンポーネント]メニューの新規作成から行えます。

[Delphi] 数値をカンマ編集する

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    17,744

カンマ編集するにはFormat関数を使う方法がありますが、簡単に行うには以下のどちらかの関数を使用します。

  • FormatFloat
  • FormatCurr

具体的には以下のように指定します。

FormatCurr('#,', 123456)

Format関数を使うよりもずっと簡単に、制御できるのでとっても便利です。

[Delphi] フリガナを自動で入力する (for Win32)

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    7,091

WM_IME_COMPOSITION メッセージが発生したときに、ImmGetCompositionString 関数を使ってFEP (IME など) が持つフリガナを取得します。

[Delphi] Enterキーで次のフィールドに移動する

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    25,609

コンポーネントのKeyPressイベントを使います。
KeyPressイベントでEnterキーが押されたときに、次のコントロールに移動するWindowsのメッセージを送ってフォーカスを移動させます。
任意のコントロールにフォーカスを移動させる場合には、コントロール名.SetFocusを使用します。

procedure Edit1KeyPress(var Key: Char);
begin
  if (Ord(Key) = VK_RETURN) and (Shift = []) then
  begin
    // Enterキーが押されたら、次フィールドへ移動する。
    // Delphi関数を使う方法
    SelectNext(ActiveControl, GetKeyState(VK_SHIFT) >= 0, true);
    // ...Windows Messageを使用する方法
    //SendMessage(Handle, WM_NEXTDLGCTL, Ord(GetKeyState(VK_SHIFT) < 0), 0);
    // 通常のEnterキーの処理をしないようにクリアしてしまおう。
    Key := #0;
  end;
end;
最初 | 前へ | 308309310311312313314 | 次へ | 最後

サイトカレンダー

サイトカレンダーをスキップ

2024年 04月
«
»
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

新着情報

記事 新着(24時間)

-

コメント 新着(2日)

-

トラックバック 新着(2日)

-

リンク 新着(2週)

新しいリンクはありません

ファイル (14日)