記事カテゴリ

ユーザー機能

カウンター


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

[Delphi] DBGridの自動レコード追加機能を抑止する

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

この機能を実現するには2つの方法があります。
1つはTable側で新規レコードを追加させないようにする方法 と DBGrid側でチェックする方法があります。
本当はDBGrid本体で新規レコード行を表示しないようできると便利だと思うのですが、 コンポーネントを修正しないとだめなので簡単にできる方法を紹介します。

[Delphi] アプリケーションの多重起動を防止する (Win32)

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

Atomを使う方法 FindWindow を使う方法などアプリケーションの多重起動防止方法にはいろいろありますが、 ここではもっとも実装が簡単だと思われるMutexを使った方法をご紹介します。
Windows APIの CreateMutex を使用して Mutex を作成します。すでに同じ名前を持つ Mutex が作成されていた場合、 CreateMutex は「ERROR_ALREADY_EXISTS」を返します。この場合実行を進めると二重起動となるので、 すぐに RelaseMutex で Mutex を開放して終了します。その他の場合には、通常通りプログラムを起動します。

※注意 CreateMutex を使用するには、uses 節に Windows ユニットを追加する必要があります。

[Delphi] 長いファイル名の途中を省略する

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

MinimizeName 関数を使用します。
インストール画面などでよく見かける、ファイル名の途中を...で省略した文字列を作成するために、DelphiではMinimizeName関数が用意されています。

注意 この関数を使用するためには、usesにFilectrlユニットを追加する必要があります。

[Delphi] TMemoで、先頭行/最終行/指定行へ移動する

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

Windows APIをいくつか使って移動行数を計算し移動しています。

  • EM_LINEFROMCHAR  現在のカーソル位置を取得するのに使用
  • EM_LINESCROLL       行を移動させるのに使用
  • EM_GETLINECOUNT   TMemoの行数を取得するのに使用
  • EM_LINEINDEX          現在のカーソル位置を設定するのに使用

[Delphi] 2行表示のリストを作成する

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

2行表示のリストを作成するには、OnDrawItem イベントと OnMeasureItem イベントを使用します。
以下のステップで行います。

  1. OnMeasureItemイベントで2行分表示するための高さを確保します。
  2. OnDrawItemイベントでCanvasにテキストを描画します。
  3. Styleを「lbOwnerDrawVariable」に変更します。(自分で中身を書き換えますよ!という定義)

この方法は、TCheckListBox でも使用できます。(2行目が固定で“2行目”になっているので、お好みに合わせて変更してください。 また、Styleを「lbOwnerDrawVariable」に変更するのを忘れないでください。)


サイトカレンダー

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

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日)