MFC:如何让windows窗口大小不可改变。。

kk688005 2008-07-08 05:06:39
如题。。
...全文
941 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kk688005 2008-07-09
  • 打赏
  • 举报
回复
谢谢LS
我会揭贴的
kk688005 2008-07-09
  • 打赏
  • 举报
回复
OK谢谢LS问题解决..
我会揭贴的了..
zgl7903 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kk688005 的回复:]
。。
LS说的我不懂。。
如下:
#include <afxwin.h>
class CMainWnd:public CFrameWnd{
public:
CMainWnd(){
Create(NULL,"Window",WS_OVERLAPPEDWINDOW,CRect(0,0,100,100),
NULL,NULL,WS_EX_OVERLAPPEDWINDOW,NULL);
}
};
class CWinMain:CWinApp{
public:
virtual BOOL InitInstance(){
m_pMainWnd=new CMainWnd;
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();…
[/Quote]
WS_OVERLAPPEDWINDOW修改为 WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU
kk688005 2008-07-09
  • 打赏
  • 举报
回复
。。
LS说的我不懂。。
如下:
#include<afxwin.h>
class CMainWnd:public CFrameWnd{
public:
CMainWnd(){
Create(NULL,"Window",WS_OVERLAPPEDWINDOW,CRect(0,0,100,100),
NULL,NULL,WS_EX_OVERLAPPEDWINDOW,NULL);
}
};
class CWinMain:CWinApp{
public:
virtual BOOL InitInstance(){
m_pMainWnd=new CMainWnd;
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return TRUE;
}
}theMain;
如果可以对上面的代码作任意的VC6.0中合法的修改。。
如何使代码生成的窗口大小不可以改变。。。
量子 2008-07-08
  • 打赏
  • 举报
回复
classwizard里面添加WM_NCHITTEST消息的映射函数,修改如下即可
(提示默认的classwizard里面找不到该消息,在class info里面message filter里面选中window就有了)

UINT CTempDlg::OnNcHitTest(CPoint point)
{
int ret = CDialog::OnNcHitTest(point);

//if语句的前两行是用来禁止改变大小的,最后一行是用来禁止移动的
if(HTTOP == ret ¦ ¦ HTBOTTOM == ret ¦ ¦ HTLEFT == ret ¦ ¦ HTRIGHT == ret
¦ ¦ HTBOTTOMLEFT == ret ¦ ¦ HTBOTTOMRIGHT == ret ¦ ¦ HTTOPLEFT == ret ¦ ¦ HTTOPRIGHT == ret)
return HTCLIENT;

return ret;
}
kk688005 2008-07-08
  • 打赏
  • 举报
回复
..
其实..
只要告诉我WNDCLASSEX中有哪一些属性集合在一起可以实现(包括有可能冲突的属性),
并且..
告诉我...
CFrameWnd类中哪个函数开始才是真正的类似于WndProc(SDK下的)功能,
且可以直接赋予值给WNDCLASSEX中的lpfnWndProc的就可以了...
我到现在就这些不知道...
kk688005 2008-07-08
  • 打赏
  • 举报
回复
LS我用的不是对话筐...
还有谁能告诉我
PreCreateWindow
的作用还有
cs.style &= ~(WS_MAXIMIZEBOX ¦WS_THICKFRAME);
干了些什么??
Fireway2008 2008-07-08
  • 打赏
  • 举报
回复
在OnInitDialog()里边添加:
SetWindowPos(&this->wndTopMost, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);//使对话框为顶层窗口并且大小不可改变
ycoder 2008-07-08
  • 打赏
  • 举报
回复
doc/view结构:
在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中加下面代码:
cs.style &= ~(WS_MAXIMIZEBOX|WS_THICKFRAME);
引用自:
http://www.codeguru.com/cpp/w-d/doc_view/windowpositionssizes/article.php/c3271/

dlg:
修改BORDER属性
kk688005 2008-07-08
  • 打赏
  • 举报
回复
框架窗体
我常用的。。
能直接说方法么???
chenyu2202863 2008-07-08
  • 打赏
  • 举报
回复
分两种情况
对话框和框架窗体

分别GOOGLE吧 属性设置

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧