スクロールバーのサイズの変更するには


ずんだ  2007-12-15 00:44:07  No: 67184

はじめましてスクロールのサイズ変更について教えてください。
環境:VC++6.0です
CScrollViewでPCの画面サイズより大きな画像の表示プログラムを作成しています。
その、画像を拡大や縮小したりできます。
画面からはみ出した画像を表示させるとき
SetScrollSizes(MM_TEXT, sizeTotal);
でスクロールバーを設定しています。
その状態から拡大などを行って、再度スクロールバーのサイズを変更し
SetScrollSizes(MM_TEXT, sizeTotal);
で設定し直しますが、現在スクロースのサイズが変わりません。
そのときWindowサイズの変更も行っています。
  →画面より大きくなる場合はWindowサイズは最大化した状態です。

しかし、タイトルバーをダブルクリックするとサイズが変更されます。
SetScrollSizes(MM_TEXT, sizeTotal);のあと
再描画(Invalidate())などするとおちます。

なにかわかる方がおられましたら、教えてください。


rin  2007-12-15 07:14:50  No: 67185

設定しなおしてる場所は
どういったところで行ってるのでしょうか?
その当たりのソースがあれば


ずんだ  2007-12-18 05:09:49  No: 67186

rinさん始めまして、レスありがとうございます。
設定しなおしているところは、SDIで作ったWinサイズが変更(これも関数かしてます。ただ、幅と高さを設定しているだけです。)されたとき(画像拡大された時など)に呼ばれます。
そこで、スクロールのサイズ設定の入った関数を呼んでいます。

CSize sizeTotal;
sizeTotal.cx = 画像表示幅;
sizeTotal.cy = 画像表示高さ;
SetScrollSizes(MM_TEXT, sizeTotal);
と設定しています。

以上です。
よろしくお願い致します。


rin  2007-12-25 17:42:11  No: 67187

時間が空いてしまいましたが、もう解決されたでしょうか?
もしまだなら

1:設定しなおしてる場所の詳しい情報(どんなメッセージが呼ばれたときか?など)

2:ウィンドウサイズの変更方法はどんな方法?

3:最初に
>再描画(Invalidate())などするとおちます。
とありますが、これの場所と、エラーの内容

などがあればお願いします

現在わかってる情報からは、特に問題はないように見えます


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加