TEditのコピペ制御

解決


kaden  2020-01-22 04:38:09  No: 148461  IP: 192.*.*.*

EditのKeyPressイベントで下記を実行することで、数値入力しかできないように制御することは出来たのですが、
コピー&ペースト時にも同じように制御をかけたいのですが可能でしょうか?
最終的には、数値のみしか入力できないようにしたいです。

//KeyPress
  if (not CharInSet(Key, [#8, '0'.. '9'])) then
    Key := #0;

編集 削除
take  2020-01-22 07:20:57  No: 148465  IP: 192.*.*.*

ペーストの処理はウインドウズメッセージ
 procedure WMPaste(var Msg: TWMPaste); message WM_PASTE; 
を処理すればイベントとして実行出来ます。

クリップボードの内容はClipboard.AsText に入っていますので
数値か文字化判断判断すればよいかと

参考サイト
http://ja.voidcc.com/question/p-tgbvwqyz-cy.html

ほかには邪道ですが ポップメニューを自作してそちらで貼り付けさせて
処理は自分で作成するという方法もいけるかと思います。

編集 削除
kaden  2020-01-30 05:16:44  No: 148511  IP: 192.*.*.*

参考にさせていただきます!

編集 削除