ワードパットのようなツールバーつきのメモ帳を作って
いるのですが、その中でどうやって実装しようか迷って
いる機能(動作)があるのです。
それはテキストコントロールに表示されている文字列を
選択するとツールバーの切り取りとコピーのボタンが
アクティブ(例this.toolCopyButton.Enabled = true)になる
動作なのですが・・・。
ためしにタイマーコントロールを1ミリ秒にしてハンドリング
する手を使ってみたのですがなんだかしっくりこないので
他の手ってあるのかなぁ・・・と思い質問させていただきました。
よろしくお願いいたします。
> ワードパットのような
パット(pat)ではなく、パッド(pad)です。
> 選択するとツールバーの切り取りとコピーのボタンがアクティブ
RichTextBox コントロールの SelectionChanged イベントを使うとか。
> this.toolCopyButton.Enabled = true
ここは VB.NET の掲示板です。上記は VB の構文ではありませんよね。
ごめんなさい、C#の構文で書いてしまったですね。
試しにC#でも同じようにコーディングしていて
同じ場面でどうやって実装すれば良いんだろうと
思ったのですが・・・なじみのあるVBの方で
質問しようと思いきやC#の構文で書いてしまいました。(>_<)
正しいのはMe.tbnCopyButton.Enabled = Trueです。
複数の言語(C&C++/C#/VB)を扱うようになると
あれっと違う構文を書いてしまうです。
言語は違いますが、猫でも〜のSDK編4章のHTMLエディタ
作成の所で、やりたい事が載っているのですが・・・・・
テキストボックスをサブクラス化してWM_LBUTTONUPと
WM_KEYUP(だったかな)のメッセージをハンドリング(ただし
本来の動きを損なわないように本来のテキストボックスに流す)
すると言う方法でこの方法を実装しているみたいです。
> テキストボックスをサブクラス化して
サブクラス化を .NET で実装するには、TextBox を継承したクラスを作成し、
そこで TextBox.WndProc メソッドを Overrides する事になるかと。
ツイート | ![]() |