エディットのリサイズが追従しない – プログラミング – Home

エディットのリサイズが追従しない
 
通知
すべてクリア

[解決済] エディットのリサイズが追従しない


('ω'
 ('ω'
(@('ω')
ゲスト
結合: 17年前
投稿: 2
Topic starter  

以下のサンプルのように、Viewいっぱいにエディットを表示する際に分らないことがあ
ります。

Viewサイズ>=ウインドウサイズの範囲では問題なく、エディットがクライアントサイ
ズに追従しますが
Viewサイズ<ウインドウサイズ(つまりスクロールバーが出てる時)から、ウインドウ
を広げた場合
スクロールバーの幅・高さの分、追従が遅れてしまいす。

解決策を教えてください。

void MyView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);

CWnd *wnd = GetDlgItem(IDC_EDIT1) ;
if( wnd && IsWindow( wnd->m_hWnd ) ){
wnd->MoveWindow( &CRect( 0 , 0 , cx , cy ) ) ;
}
}

vc7.0 + MFCです


引用未解決
トピックタグ
('ω'
 ('ω'
(@('ω')
ゲスト
結合: 17年前
投稿: 2
Topic starter  

自己解決です。
以下のように直したら追従します。

#OnSizeのcx、cyは新しいクライアントサイズ。
#なぜ取得しなおす必要があるか謎のままですが・・・
#まぁいいや・・・

void MyView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);

CWnd *wnd = GetDlgItem(IDC_EDIT1) ;
if( wnd && IsWindow( wnd->m_hWnd ) ){

CRect rect ;
GetClientRect( &rect ) ;
wnd->MoveWindow( &rect ) ;

}
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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