- PR -

TabControl(Page)上のコントロール再描画ちらつきを抑制したい

投稿者投稿内容
ShuU
常連さん
会議室デビュー日: 2006/09/29
投稿数: 21
投稿日時: 2007-07-11 16:39
れい氏:

早速のレスポンス、有難う御座います。

引用:

引用:

1.ucTabControlがあるフォーム上のコントロールがちらつく
  動作時ではなく、デザイン時の問題です。


コード:

If Me.DesignMode Then Return MyBase.CreateParams





なるほど、デザイン時には反映させないようにするんですね。
勉強になります。


引用:

引用:

2.NumericUpDownの表示が汚れる
  NumericUpDownの表示領域に、前回表示タブの描画カスが残ります。
  ComboBoxでは問題ありませんでした。


問題はこちらですが。
私のところでは再現しません。



以下、再現手順です。

1.フォームに細工したタブコントロール(ucTabControl)を配置
2.「TabPage1」に「NumericUpDown1」を配置
3.「TabPage2」に「NumericUpDown2」を配置
4.「TabPage2」の「NumericUpDown2」のサイズを「NumericUpDown1」より小さく変更

まず、表示直後の「NumericUpDown1」や「NumericUpDown2」の周りが黒い線で囲われます。その後、「TabPage2」を表示した後に「TabPage1」に切り換えると、「NumericUpDown1」に「NumericUpDown2」の影が残ります。

通常は、2度目以降の表示時に、黒い線が消えるのですが、コントロールが重なると、消えません。
サイズが違うと、描画カスが顕著に見て取れます。

まずは、再現できるかどうか、お試しください。


[ メッセージ編集済み 編集者: ShuU 編集日時 2007-07-11 16:42 ]
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-07-11 17:02
えっと
詳しくというのはそういうことではなくて。

OS、VisualStyle、Fontサイズ、
画面のデザインで設定できる
フォントの大きさなど、
そういった詳細を教えてください。

Vista
VisualStyle OnおよびOff、
Font 9pt(たぶんデフォルト
で再現しません。


ShuU
常連さん
会議室デビュー日: 2006/09/29
投稿数: 21
投稿日時: 2007-07-11 18:11
れい氏:

開発環境は、すべてVB2005Expデフォルトです。

引用:

Vista



OSはXP、VisualStyleはONということで、OS依存のようです。
試したところ、確かにVistaでは再現しません。

XPに対応しないわけにはいかないのですが、万事休すでしょうか?
(VisualStyleをOFFにすると更に悲惨な画面になりました)
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-07-11 18:38

>OSはXP、VisualStyleはONということで、OS依存のようです。

XP+RemoteDesktop
2003+RemoteDesktop

では再現しませんねぇ…

comctl32.dllのバージョンはどうでしょうか?
当方は(製品バージョンで)
Vista: 6.0.6000.16386
2003: 6.00.3790.3959
XP: 6.00.2900.2982
です。
また、DomainUpDownコントロールではどうでしょうか?

>XPに対応しないわけにはいかないのですが、万事休すでしょうか?

対応策なんてまだまだ、原因どころか、再現もとれてません。
まだ休するには早いのでは?
ShuU
常連さん
会議室デビュー日: 2006/09/29
投稿数: 21
投稿日時: 2007-07-11 19:00
れい氏:

再現確認、有難う御座います。

引用:

comctl32.dllのバージョンはどうでしょうか?
当方は(製品バージョンで)
Vista: 6.0.6000.16386
2003: 6.00.3790.3959
XP: 6.00.2900.2982
です。
また、DomainUpDownコントロールではどうでしょうか?



comctl32.dllは、「XP: 6.00.2900.2982」ですので、れい氏と同じです。

DomainUpDownコントロールについては、未経験なため、調べてみます。

引用:

>XPに対応しないわけにはいかないのですが、万事休すでしょうか?

対応策なんてまだまだ、原因どころか、再現もとれてません。
まだ休するには早いのでは?



せっかくちらつきが無くなったのですから、もう少し頑張ってみます。
ShuU
常連さん
会議室デビュー日: 2006/09/29
投稿数: 21
投稿日時: 2007-07-12 10:18
「DomainUpDown」を試してみましたが、
「NumericUpDown」と同じ現象が発生しました。

「TextBox」や「ComboBox」では発生していません。

疑問点は、起動時にコントロールのテキストボックス部分が黒い実線で囲われることで、この実線の一部が別のタブに切り替えた際に残っているようです。


それから、Windows XP x64 では再現しませんでした。他の Windows XP x86 では再現したのですが、この辺りにも解決の糸口があるのでしょうか?

スキルアップ/キャリアアップ(JOB@IT)