- 締切済み
コントロール上でのポップアップメニューによる貼り付けを拒否したいのですが・・・・
こんにちわ。 現在VB6でソフト開発を行っており、テキストボックスへの入力制限について手動で制御しようとしています。 例えば、あるコントロールでは「半角数字の1~5のみを入力できるように」というような具合にです。 そのために、コントロールのKeyPressイベントで下記のようにコーディングしており、キーボードによる入力制限はこれで上手く制御できていますが、 他のアプリケーションでクリップボードにコピーした文字列を、このコントロール上でポップアップメニュー(マウスの右ボタンクリック)によって貼り付けをすると英数字でも貼り付けできてしまうのです。(Ctrl+Vは防げています) Private Sub txtBin_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case vbKey1 To vbKey5 '数字のみ入力可 Case vbKeyBack Case vbKeyReturn Or vbKeyTab cmdSearch.SetFocus 'フォーカスの移動 Case Else KeyAscii = 0 End Select End Sub これを回避する方法として考え付く方法またはそれ以外の方法で良い案が あればどなたかご教授ください。 (1)アプリケーション全体においてクリップボード自体を使用不可にする方法 (2)独自に作ったポップアップメニューをアプリケーション全体に一括で設定する方法。(各コントロールのMouseDownで設定する方法は知っていますが、ひとつひとつ設定するにはあまりにコントロールの数が多いので。。。) (3)文化オリエント社のInputManでマスクをする方法。 あとは思いつきませんが、上記の3つでもだめだよとか、そんなご意見があればお願いします。
- みんなの回答 (3)
- 専門家の回答
お礼
なるほど。ホットキーという手もありますねぇ。。。 勉強がてらやってみます。 ありがとうございました。