SetWindowPos()で起動ごとに大きさが変わる・・・ – プログラミング – Home

SetWindowPos()で起動ごと...
 
通知
すべてクリア

SetWindowPos()で起動ごとに大きさが変わる・・・


初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

こんばんわ。

現在、値によって、
表示されるWindowの大きさを変える処理を作成しています。

if(a < 4)
SetWindowPos(&wndTop,0,0,320/*幅可変*/,420,SWP_NOMOVE|SWP_NOZORDER);

if(a >= 4)
SetWindowPos(&wndTop,0,0,320+56*(a-3)/*幅可変*/,420,SWP_NOMOVE|SWP_NOZORDER);

上記がその一部ですが、
a=10でも、Windowの大きさが変わってしまいます・・・

変われない方法はないでしょうか?

環境は
XPSP2 VC++6.0SP2 MFC
です。

よろしくお願いします。


引用解決済
トピックタグ
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

a == 10 なら、if( a >= 4 ) が真となるので可変で合っていませんか?


返信引用
初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

レスありがとうございます。

short int haba = 0;
if(a == 3) haba = 320;
if(a == 4) haba = 376;
if(a == 5) haba = 432;
if(a == 6) haba = 488;
以下省略

SetWindowPos(&wndTop,0,0,haba/*幅可変*/,420,SWP_NOMOVE|SWP_NOZORDER);

でも、約5回に1回、スクロールバーが出てきてしまいます・・・。
(出ないような大きさに設定しているのですが。。ちなみにOnCreat()内)

また、PreCreateWindow()でWindowの出る位置を決めていたのですが、
ここでのcs.xとcs.yをコメントにしたら、
windowの大きさは変わらなくなったのですが、位置がランダムになってしまいました。

SetWindowPos()とPreCreateWindow()は、影響を及ぼすことがあるのでしょうか???


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました