- 64 名前:デフォルトの名無しさん [2007/05/15(火) 14:31:14 ]
- ウォークエリアの幅or高さが200以下になったら、
幅or高さを表示するスクロールバーが現れるウィンドウを作っています。 WM_SIZEメッセージを以下の様に処理したのですが、上手くいきません。 (何がダメなのかというと、ウィンドウサイズが変更されて、 さらにもう一回ウインドウサイズが変更された時に、 スクロールバーが1ターン遅れて適応されるのです。) ウィンドウサイズ変更後、即スクロールバーが現れたり消えたりするためには、 どこをどう直したら良いのでしょうか?? case WM_SIZE: { RECT rt; GetClientRect(hWnd,&rt); LONG style = GetWindowLong(hWnd,GWL_STYLE); if(rt.right <= 200) style |= WS_HSCROLL; else style &= ~WS_HSCROLL; if(rt.bottom <=200) style |= WS_VSCROLL; else style &= ~WS_VSCROLL; SetWindowLong(hWnd,GWL_STYLE,style); } return 0;
|

|