C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: TabControlのオーナードローについて。


(過去ログ 68 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■39459 / inTopicNo.1)  TabControlのオーナードローについて。
  
□投稿者/ める (8回)-(2009/08/08(Sat) 10:58:11)

分類:[.NET 全般] 

いつもお世話になってます。

TabControlを使っているのですが、TabPageの背景に
色を付けたのですが、タブ部分には色が付かない為、
以下のサイトを参考にオーナードローをしました。

http://dobon.net/vb/dotnet/control/tabownerdraw.html

確かにタブの背景色は付きましたが、今度は標準であった、
タブの上側に表示されるオレンジのラインが出なくなりました。
(タブへのオンマウス時や選択時に表示されるやつです。)


オーナードローは初めてでして、オーナードローをすると
面倒ではあるが描画関係は自由度があがる事はわかるのですが、
逆にこういった事も全てやってやらないと駄目なのでしょうか?
(都合のいい所だけ自分で描画して残りはOS任せにはできない?)
であれば、その方法をお教え頂けませんでしょうか?

また、TabPageのBackColorに色を指定するとTabPageの左側に
数ドット分色が付かない部分ができると思います。
(TabPageのクライアント領域(?)がTabControlの端まで
広げられていない為とでも言うのでしょうか?)
見た目に宜しくないので、この部分にも色を入れたいのですが、
同様にオーナードローで描画する事は出来るのでしょうか?

方法または参考サイト等ご教授頂けると幸いです。
環境はVS2005/C#/.net2.0です。
宜しくお願い致します。

引用返信 編集キー/
■39465 / inTopicNo.2)  Re[1]: TabControlのオーナードローについて。
□投稿者/ やじゅ (1185回)-(2009/08/08(Sat) 20:16:33)
やじゅ さんの Web サイト
2009/08/08(Sat) 21:33:49 編集(投稿者)

No39459 (める さん) に返信
> 確かにタブの背景色は付きましたが、今度は標準であった、
> タブの上側に表示されるオレンジのラインが出なくなりました。
> (タブへのオンマウス時や選択時に表示されるやつです。)
>
> 面倒ではあるが描画関係は自由度があがる事はわかるのですが、
> 逆にこういった事も全てやってやらないと駄目なのでしょうか?
> (都合のいい所だけ自分で描画して残りはOS任せにはできない?)
> であれば、その方法をお教え頂けませんでしょうか?

残念ながら、オーナードローで行う場合では、タブの上側に
表示されるオレンジのラインは自分で実装しなければならない。

オレンジのラインは、↓のコードを使えばいい
VisualStyleElement.Tab.TabItem.Pressed
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.visualstyles.visualstyleelement.tab.tabitem.pressed(VS.85).aspx

タブ選択時は実装は簡易だが、マウス移動時の実装はかなり面倒そう


> また、TabPageのBackColorに色を指定するとTabPageの左側に
> 数ドット分色が付かない部分ができると思います。
> (TabPageのクライアント領域(?)がTabControlの端まで
> 広げられていない為とでも言うのでしょうか?)
> 見た目に宜しくないので、この部分にも色を入れたいのですが、
> 同様にオーナードローで描画する事は出来るのでしょうか?

オーナードローではなくカスタムドローでなら実装可能かも知れない
さらに面倒である。

A .NET Flat TabControl (CustomDraw)
http://www.codeproject.com/KB/tabs/flattabcontrol.aspx

2.0TabControlをVisalStyleで縦書きしてみる
http://365gourmet.blog55.fc2.com/blog-entry-28.html
引用返信 編集キー/
■39511 / inTopicNo.3)  Re[2]: TabControlのオーナードローについて。
□投稿者/ める (9回)-(2009/08/10(Mon) 10:32:49)
No39465 (やじゅ さん) に返信

お返事遅くなりました。レスありがとうございます。
やはり大変そうですね・・・。
糸口を教えていたので、何と頑張って実装してみたいと
思います。

ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -