zoukankan      html  css  js  c++  java
  • MFC禁止改变窗口大小和移动窗口

    一、禁止对话框的移动

    (1)、第一种方法 为这个对话框添加系统消息过虑处理: .h中:

    afx_msg void OnSysCommand(UINT nID, LPARAM lParam);

    ... .cpp中

    BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

    ... ON_WM_SYSCOMMAND()

    ... END_MESSAGE_MAP()

    void CXXXDlg::OnSysCommand(UINT nID, LPARAM lParam)

    {

       if (nID == SC_MOVE || nID==0xF012)

         return;

      else

       CDialog::OnSysCommand(nID, lParam);

    }

    SC_MOVE就是0xF010。

    参考帖子:http://topic.csdn.net/t/20020821/12/957952.html

    (2)、第二种方法 .h中: ...

    afx_msg UINT OnNcHitTest(CPoint point);

    ... .cpp中

    BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

    ... ON_WM_NCHITTEST()

    ... END_MESSAGE_MAP()

    UINT CXXXDlg::OnNcHitTest(CPoint point)

    {

       int ret = CDialog::OnNcHitTest(point);

       if( HTCAPTION == ret)

         return HTCLIENT;

      return ret;

    }

    二、禁止对话框改变大小 .h中:

    ... afx_msg UINT OnNcHitTest(CPoint point);

    ... .cpp中 BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

    ... ON_WM_NCHITTEST()

    ... END_MESSAGE_MAP()

    UINT CXXXDlg::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 || HTCAPTION == ret)

       return HTCLIENT;

    return ret;

    }

  • 相关阅读:
    svn搭建多版本共存记录
    python中使用redis
    小程序之使用腾讯地图获取经纬度
    vue路由元之进入路由需要用户登录权限功能
    input type="tel" 数字输入框显示圆点
    input在IOS中的聚焦问题
    JS实现手机号码中间4位变星号
    CSS实现div填充剩余高度
    小程序之地图导航
    小程序之点击图片放大预览
  • 原文地址:https://www.cnblogs.com/fei12/p/456s.html
Copyright © 2011-2022 走看看