代码如下:
BOOL CModellessDlg::PreCreateWindow(CREATESTRUCT& cs)
{
cs.dwExStyle = cs.dwExStyle | WS_EX_TOPMOST;
cs.style = cs.style&~WS_CAPTION;
return CDialog::PreCreateWindow(cs);
}
而PreCreateWindow在创建MDI的程序中是有效的呀
BOOL CModellessDlg::PreCreateWindow(CREATESTRUCT& cs)
{
cs.dwExStyle = cs.dwExStyle | WS_EX_TOPMOST;
cs.style = cs.style&~WS_CAPTION;
return CDialog::PreCreateWindow(cs);
}
而PreCreateWindow在创建MDI的程序中是有效的呀
BOOL ModifyStyleEx( DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0 );
试试这两个函数!
int CPutPictureDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyle(WS_CAPTION,WS_POPUP);
return 0;
}
创建对话框窗口不会调用PreCreateWindow,只能在创建之后修改窗口风格。
要得到你要的效果,可以在OnInitDialog里加入这两行:ModifyStyle(WS_CAPTION, 0);
SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_DRAWFRAME|SWP_NOMOVE|SWP_NOSIZE);
//除去标题栏和边框
SetWindowLongPtr(m_hWnd, GWL_STYLE,
GetWindowLongPtr(m_hWnd, GWL_STYLE) &
(~(WS_CAPTION | WS_BORDER)));