動的にエディットボックスの幅をウィンドウの幅に合わせる – プログラミング – Home

動的にエディットボックスの幅をウィンド...
 
通知
すべてクリア

[解決済] 動的にエディットボックスの幅をウィンドウの幅に合わせる


源
 源
(@源)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

VC++6.0 MFC SDI WindowsXP SP2

動的に画面の幅に、エディットボックスの幅を合わせたいのですが、
どこで設定すればよいのかわかりません。
とりあえずFormViewの幅は取得できました。
その横幅のみをエディットボックスに設定したいです。
知っている方がいらっしゃたら教えてください。

// ビューのサイズにダイアログとエディットボックスの幅を合わせる
void XXXXView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
CRect lpRect;
GetClientRect(lpRect);

// ダイアログ
CWnd* pWnd = GetDlgItem( IDD_SEARCH_BAR );
if( pWnd && pWnd->GetSafeHwnd() ) {
pWnd->MoveWindow(lpRect);
}

// ここで設定するのでしょうか?
CWnd* pWnd = GetDlgItem( IDC_EDIT );
if( pWnd && pWnd->GetSafeHwnd() ) {
pWnd->MoveWindow(lpRect);
}
}


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

引数がなんだかわかりますか?
そのコードを実行するとどうなりますか?
そのコードの問題点はどこでしょうか?

余談ですが、
> if( pWnd && pWnd->GetSafeHwnd() ) {
これは冗長です。

GetSafeHwnd の説明には、
> m_hWnd を返します。this ポインタが NULL の場合は、NULL を返します。
とありますので、

if( pWnd->GetSafeHwnd() ) {

だけでよいです。


返信引用
源
 源
(@源)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

ありがとうございました。
無事出来ました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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