グローバル関数で Setwindowpos() を使用して、1 つのダイアログの位置を変更したいと考えています。だから私は以下のようにコーディングしました
CWnd *pWnd = (CWnd*)pMain->GetDlgItem(IDD_TOOLBAR_DIALOG);//GetActiveFrame ();
pWnd->SetWindowPos(&CWnd::wndBottom,0,80,45,900,SWP_SHOWWINDOW);
pWnd は未定義の値として返されます。だから私はこの方法に従います
CToolTab * tab;
tab = new CToolTab();
if(tab->GetSafeHwnd() == 0)
{
tab = new CToolTab();
if( tab->m_hWnd != NULL )
{
tab->SetWindowPos(&CWnd::wndBottom,0,80,45,900,SWP_SHOWWINDOW); }
}
しかし、m_hWnd は 0x0000 を返します。そのため、どちらの場合も SetWindowPos はアサーション エラーを示します。グローバル関数でダイアログのハンドルを取得するにはどうすればよいですか?