VC中MFC工程中如何改变打开对话框弹出的位置,我想在窗口右边弹出来而不是默认位置。代码如下,求指教

2025-01-04 02:06:21
推荐回答(3个)
回答1:

使用MOVEwindow函数,移动到你想到的位置就行了

回答2:

更改CFileDialog 中的m_ofn参数
如:
//回调函数
UINT_PTR CALLBACK OFNHookProc(
HWND hdlg, // handle to child dialog box
UINT uiMsg, // message identifier
WPARAM wParam, // message parameter
LPARAM lParam // message parameter
)
{
if ( WM_INITDIALOG == uiMsg)
{
::SetWindowPos(hdlg,HWND_NOTOPMOST,0,0,100,100,SWP_SHOWWINDOW);
}
return 1;
}
CFileDialog dlg( TRUE,"BMP",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter );
dlg.m_ofn.Flags |= OFN_EXPLORER ;
dlg.m_ofn.lpfnHook = (LPOFNHOOKPROC)OFNHookProc;
dlg.DoMoDal();

回答3:

csdn上有