TEditのコピペ制御

解決


kaden  2020-01-22 13:38:09  No: 148461

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

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


take  2020-01-22 16:20:57  No: 148465

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

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

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

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


kaden  2020-01-30 14:16:44  No: 148511

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


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加