2

ユーザーがさまざまな言語でデータを TcxGrid に入力するアプリケーションを作成しています。通常のキーボードにはないキー (á または ¿) の入力を容易にするために、ユーザーがボタンを追加する機能を追加することにしました。このボタンを押すと、文字がグリッドに直接送信されます。

基本的に、ボタンが押されます。ボタンのキャプションは、グリッドに送信する文字です。現在、これを行う唯一の方法は、アクティブなグリッド セルを取得し、そこにテキストをコピーし、追加する文字を追加してから、グリッド値を新しい文字列に設定することです。これは理想的ではないようです。

これを行うためのクリーンな方法に関するアイデアはありますか?

4

1 に答える 1

4

コントロールのハンドルを取得できれば、入力を示すメッセージをコントロールに投稿できます。

PostMessage(Edit1.Handle, WM_CHAR, Ord('A'), 0);

よりスマートな方法があると確信していますが、「キャラクター マップ」を使用してキャラクターにこれを実行してもらいました。

const
  testchar1 = 'Á';
  testchar2 = '¿';
begin
  PostMessage(Edit1.Handle, WM_CHAR, Ord(testchar1), 0);
  PostMessage(Edit1.Handle, WM_CHAR, Ord(testchar2), 0);
end;

仮想スキャン コードが必要な場合は、WM_KEYDOWN および WM_KEYUP メッセージを使用します。

于 2013-05-02T21:14:19.313 に答える