ツールバーの状態同期について


みけにゃん  URL  2007-10-27 20:35:59  No: 144026

ワードパットのようなツールバーつきのメモ帳を作って
いるのですが、その中でどうやって実装しようか迷って
いる機能(動作)があるのです。

それはテキストコントロールに表示されている文字列を
選択するとツールバーの切り取りとコピーのボタンが
アクティブ(例this.toolCopyButton.Enabled = true)になる
動作なのですが・・・。

ためしにタイマーコントロールを1ミリ秒にしてハンドリング
する手を使ってみたのですがなんだかしっくりこないので
他の手ってあるのかなぁ・・・と思い質問させていただきました。

よろしくお願いいたします。


魔界の仮面弁士  2007-10-27 21:29:35  No: 144027

> ワードパットのような
パット(pat)ではなく、パッド(pad)です。

> 選択するとツールバーの切り取りとコピーのボタンがアクティブ
RichTextBox コントロールの SelectionChanged イベントを使うとか。

> this.toolCopyButton.Enabled = true
ここは VB.NET の掲示板です。上記は VB の構文ではありませんよね。


みけにゃん  URL  2007-10-30 09:05:59  No: 144028

ごめんなさい、C#の構文で書いてしまったですね。

試しにC#でも同じようにコーディングしていて
同じ場面でどうやって実装すれば良いんだろうと
思ったのですが・・・なじみのあるVBの方で
質問しようと思いきやC#の構文で書いてしまいました。(>_<)

正しいのはMe.tbnCopyButton.Enabled = Trueです。
複数の言語(C&C++/C#/VB)を扱うようになると
あれっと違う構文を書いてしまうです。

言語は違いますが、猫でも〜のSDK編4章のHTMLエディタ
作成の所で、やりたい事が載っているのですが・・・・・
テキストボックスをサブクラス化してWM_LBUTTONUPと
WM_KEYUP(だったかな)のメッセージをハンドリング(ただし
本来の動きを損なわないように本来のテキストボックスに流す)
すると言う方法でこの方法を実装しているみたいです。


魔界の仮面弁士  2007-10-30 10:45:17  No: 144029

> テキストボックスをサブクラス化して

サブクラス化を .NET で実装するには、TextBox を継承したクラスを作成し、
そこで TextBox.WndProc メソッドを Overrides する事になるかと。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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