IE6.0にActiveX貼り付けでスクロールが乱れる

[戻る]
藤木 [E-Mail] 2004/12/14(火) 12:54:45
はじめまして

VC++(6.0 or 7.0)で作成したActiveXを,IE 6.0に貼り付けると
表示はされるのですが,スクロールを行うとクリップ領域の問題なのか,
表示が乱れます。
カレンダーは乱れないのですが・・・・
他のHPを参照しましたが,解決策が得られませんでした。
何方か,回避方法ご存知の方おられますでしょうか?
再描画でも良いのですが,タイミングが判りません。
宜しくお願い致します。

【手順】
1.VisualStudioで,ActiveXを新規作成します。
2.作成したActiveXをビルドします
  ここで初期状態の表示は,円を描画します。
3.試験用HTML( test.html)を作成し,下記編集します。

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
 </HEAD>
 <body bgColor="silver">
  <object style="Z-INDEX:1; POSITION: absolute; TOP:0px; LEFT:0px"
   width="400" height="300"
   classid="CLSID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
           (↑作成したActiveXのCLSIDです)
   codebase=".">
  </object>
 </body>
 </HTML>
4.IEで,test.htmlを開きます
  初期表示される画面(円)が隠れるようIEのウィンドウサイズを狭めると
  横スクロールバーが表示されます
5.右スクロールボタンをクリックしてスクロールを行っていると3回目位から
  画面が乱れ始めます。

ららら 2004/12/14(火) 12:56:42
管理人です。
投稿が、少し変な表示になっていたので修正しようと思ったら
タイトルを保存する前に削除してしまい。元のタイトルがわからなくなってしまいました。
仕方がないので、なんとなくこんな感じだったかな?という名前に変えてしまいました。
藤木さん。すいません。m(_ _)m

ころり 2004/12/14(火) 16:36:16
WM_NCPAINT
WM_WINDOWPOSCHANGED
WM_WINDOWPOSCHANGING

などを受け取ったときに
InvalidateControl();
を呼び出すとかだめでしょうか?
やってみたら多少ちらつくようですが
うまく描画はされるようです。

#自信ないので、調べるなり試すなりして
#確認はしてくださいね。

古いスレッドには追加発言できません。