記事カテゴリ

ユーザー機能

カウンター


 2018年2月20日(火) 18:51 JST

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

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

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

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

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

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

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

  • FormatFloat
  • FormatCurr

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

FormatCurr('#,', 123456)

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

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

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

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

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

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

コンポーネントの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;
最初 | 前へ | 305306307308309310311 | 次へ | 最後

サイトカレンダー

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

2018年 02月
«
»
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

新着情報

記事 新着(24時間)

-

コメント 新着(2日)

-

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

-

リンク 新着(2週)

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

ファイル (14日)