- - PR -
TabControl(Page)上のコントロール再描画ちらつきを抑制したい
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-07-11 16:39
れい氏:
早速のレスポンス、有難う御座います。
なるほど、デザイン時には反映させないようにするんですね。 勉強になります。
以下、再現手順です。 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 ] | ||||||||||||||||||||
|
投稿日時: 2007-07-11 17:02
えっと
詳しくというのはそういうことではなくて。 OS、VisualStyle、Fontサイズ、 画面のデザインで設定できる フォントの大きさなど、 そういった詳細を教えてください。 Vista VisualStyle OnおよびOff、 Font 9pt(たぶんデフォルト で再現しません。 | ||||||||||||||||||||
|
投稿日時: 2007-07-11 18:11
れい氏:
開発環境は、すべてVB2005Expデフォルトです。
OSはXP、VisualStyleはONということで、OS依存のようです。 試したところ、確かにVistaでは再現しません。 XPに対応しないわけにはいかないのですが、万事休すでしょうか? (VisualStyleをOFFにすると更に悲惨な画面になりました) | ||||||||||||||||||||
|
投稿日時: 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に対応しないわけにはいかないのですが、万事休すでしょうか? 対応策なんてまだまだ、原因どころか、再現もとれてません。 まだ休するには早いのでは? | ||||||||||||||||||||
|
投稿日時: 2007-07-11 19:00
れい氏:
再現確認、有難う御座います。
comctl32.dllは、「XP: 6.00.2900.2982」ですので、れい氏と同じです。 DomainUpDownコントロールについては、未経験なため、調べてみます。
せっかくちらつきが無くなったのですから、もう少し頑張ってみます。 | ||||||||||||||||||||
|
投稿日時: 2007-07-12 10:18
「DomainUpDown」を試してみましたが、
「NumericUpDown」と同じ現象が発生しました。 「TextBox」や「ComboBox」では発生していません。 疑問点は、起動時にコントロールのテキストボックス部分が黒い実線で囲われることで、この実線の一部が別のタブに切り替えた際に残っているようです。 それから、Windows XP x64 では再現しませんでした。他の Windows XP x86 では再現したのですが、この辺りにも解決の糸口があるのでしょうか? |