テキストボックスの表示データをコピーでき、書き換えることを
できないようにしたいのですが、どうすれば良いのでしょうか。
LockedプロパティをTrueにすると、キーボードによる書き換えはできませんが
右クリックメニューで貼り付けできますし、Ctl+Vでも書き換えが可能です。
独自の右クリックメニューを作成する方法以外で出来ないでしょうか。
よろしくお願いします。
えっ、
Enabled = False
じゃだめなの??
TextBox内の文字色がグレーダウンするのがイヤなら、
Line のない Frame の中に入れて、Frame を Disabled にする。
あ、タイトルにもあるように「コピー」はしたいのですよね。
それじゃコピーできないやん、てね。失礼しました。
コピーはユーザにさせる意図なのですか?
もしそうでなくて、コーディングで制御していいんだったら
ある場面(あるタイミング)でのみその値を変数に
格納したり(読み込み)、その値をテキストボックスに
そのときだけ入れ込んだり(書き込み)したらよろしいのでは?
また、いっそそこだけLabelコントロールにしてもいいのでは?
java.lang.Nullpoさん、たくみさんどうもです。
えっと、ユーザに表示データを普通にコピーさせたいのです。
コピーはできるけど、貼り付けはさせたくないんです。
いい方法ありますでしょうか?
こんなのとか・・・
http://www2.ttcn.ne.jp/~yagihara/newpage15.htm
注意:
サブクラス化の関数等は、標準モジュールに記述する事
補足:
サブクラス化には問題もあるので知っておく事
デバッグが困難
複数インスタンス時の問題
ActiveXコントロールでの問題
参考:
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/subc/
ぴろあきさんどうもです。
早速、試してみたいと思います。
私はTextBoxのLockedプロパティをTrueにして、
ChangeイベントでSendMessageでWM_UNDOを投げてアンドゥしています。
もちろん無限ループしないようにフラグ処理する必要があります。
nanashiさんどうもです。
ぴろあきさんやり方でなんとかできそうです。
みなさんもどうもありがとうございました。
ツイート | ![]() |