- - PR -
デザイナのような縁取り。
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-02-13 20:40
お世話になります。
C#でフォームのデザイン時に フォームに配置しているオブジェクトを押下すると、 選択されているオブジェクトが一目でわかるような縁取りがされます。 このような効果をプログラム内で、表示されているオブジェクトに対して、 行いたい場合、どのような手段があるのでしょうか? 簡単に行えるのでしょうか? 選択されているオブジェクトの背景色を変えるとか、枠線を変えるとかではなく、 デザイナのような選択表示をしたいです。 | ||||||||
|
投稿日時: 2009-02-13 21:19
具体的にどうしたいのですか?
選択したコントロールの周りに点線を付けたいのでしょうか。 | ||||||||
|
投稿日時: 2009-02-13 21:28
ありがとうございます。
はい。点線をつけるだけでもかまいません。 欲を言えば、デザイナと全く同じ様にできればベターです。 ぱっと見で選択されていることがわかれば良いと思っています。 しかし先にも書きましたが、選択オブジェクトそのものには、 手を入れたくないです。(オブジェクトそのものの背景色や枠線の変更) | ||||||||
|
投稿日時: 2009-02-13 21:38
いわゆる「ラバーバンド(Rubber Band)」と言われる処理になり、この用語で検索すると見つけやすいと思います。あとは用語としてはピッカーとかトラッカーなどでしょうか。 ただ、使いやすいライブラリーなどは普通はないように思います。みなさんは自分で、地道に描画され、マウスの操作に対する応答をコーディングされることが多いようです。 最近の動向は知りませんが、ただ、そういうライブラリーも市販はされていないこともなかったと思います。もしかしたら Visual Studio などにそういう機能が付いていたりする可能性もひょっとしたらあるかもしれませんが、たぶんないと思います。 | ||||||||
|
投稿日時: 2009-02-13 21:43
たとえば、
件名:C# http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=20938&forum=7 などが近い話題だと思います。 | ||||||||
|
投稿日時: 2009-02-13 21:48
> はい。点線をつけるだけでもかまいません。
> 欲を言えば、デザイナと全く同じ様にできればベターです。 点線以外というとコントロールのサイズを変更する為の小さい四角などがありますが これらも付けたいという事ですか? > ぱっと見で選択されていることがわかれば良いと思っています。 > しかし先にも書きましたが、選択オブジェクトそのものには、 > 手を入れたくないです。(オブジェクトそのものの背景色や枠線の変更) 何か矛盾している様な気がしますが・・・。 何もせずにオブジェクトに変化を持たせるのですか? オブジェクトそのもののプロパティも変えてはダメなのですよね。 (背景色や枠線の変更がダメなのなら) オブジェクトそのものではなく何になら手を加えても良いのでしょうか。 コントロールの周りに点線を描画すれば良いだけとか? | ||||||||
|
投稿日時: 2009-02-13 21:49
こういう事?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30342&forum=7&start=0 | ||||||||
|
投稿日時: 2009-02-14 11:39
そのまんまコントロールの外周に枠線を表示するとか。 以下は一例です。Enterイベントを使ってそのとき フォーカスのあるコントロールの外周に枠線を表示します。 (ただし、このコードの場合、DomainUpDownコントロールのような 自分のコントロールの構成上で、Control.Controlsを使ってしまっているコントロールには期待通りに動作しません。何らかの対策を考えねばなりません)
[ メッセージ編集済み 編集者: よねKEN 編集日時 2009-02-14 11:41 ] |