禁止调整窗口大小(MFC)

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT &  cs)
{
    
if!CFrameWnd::PreCreateWindow(cs) )
        
return FALSE;
    
// TODO: 在此处通过修改
    
//  CREATESTRUCT cs 来修改窗口类或样式
    cs.cx = 630;
    cs.cy 
= 560;
    cs.style 
&= ~WS_MAXIMIZEBOX;//禁止最大化
    cs.style &= ~WS_THICKFRAME;//禁止调整大小
    
//cs.style &= ~WS_MINIMIZEBOX;禁止最小化
    cs.lpszName = "算法收集器";
    
return TRUE;
}
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC中,如果我们想要在调整窗口大小时自动出现滚动条来实现内容的滚动,我们可以采取以下步骤: 1. 在需要添加滚动条的对话框或窗口类的类体中,添加一个CScrollView的派生类成员变量,用于处理滚动条的相关功能。例如,可以添加一个名为m_scrollView的成员变量。 2. 在对话框或窗口类的OnInitDialog(对于对话框类)或OnCreate(对于窗口类)函数中,创建并初始化CScrollView对象。例如,在OnInitDialog函数中可以添加如下代码: m_scrollView.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST); 3. 在对话框或窗口类中重写OnSize函数,用于处理窗口大小改变事件。例如,在对话框类中可以添加如下代码: void CMyDialog::OnSize(UINT nType, int cx, int cy) { CDialogEx::OnSize(nType, cx, cy); if (m_scrollView.GetSafeHwnd() != nullptr) { CRect rect; GetClientRect(rect); m_scrollView.MoveWindow(rect); } } 在窗口类中可以添加如下代码: void CMyWnd::OnSize(UINT nType, int cx, int cy) { CWnd::OnSize(nType, cx, cy); if (m_scrollView.GetSafeHwnd() != nullptr) { CRect rect; GetClientRect(rect); m_scrollView.SetWindowPos(nullptr, rect.left, rect.top, rect.Width(), rect.Height(), SWP_NOZORDER); } } 这样,在调整窗口大小时,滚动条会根据内容的大小窗口大小自动进行调整,并在需要时出现或隐藏。你可以根据需要在CScrollView对象中添加需要滚动的内容,例如使用CScrollView的派生类CDrawView实现自定义的绘图功能等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值