zoukankan      html  css  js  c++  java
  • Win32 对话框(2)

    4.8 如何使基于对话框的程序不在任务栏中显示

    修改样式

    //删除WS_EX_APPWINDOW扩展风格
    ModifyStyleEx(WS_EX_APPWINDOW, 0);
    

    4.9 如何使对话框大小可调整

    调整属性面板的Border属性

    image

    4.10 如何扩展对话框的大小

    使用MoveWindow方法调整大小

    void CDemoDlg::OnTest() 
    {
        m_bExpand = !m_bExpand;
    
        //获得窗口大小
        CRect rect;
        GetWindowRect(rect);
    
        if (m_bExpand)
        {
            rect.SetRect(rect.left, rect.top, rect.right + 100, rect.bottom);
    
            SetDlgItemText(IDC_TEST, _T("<<"));
        }
        else
        {
            rect.SetRect(rect.left, rect.top, rect.right - 100, rect.bottom);
    
            SetDlgItemText(IDC_TEST, _T(">>"));
        }
    
        //设置窗口大小
        MoveWindow(rect);
    }
    

    4.11 如何使对话框居中显示

    调用CenterWindow方法

    //居中显示窗口
    CenterWindow();        
    

    4.12 如何使对话框不显示

    这个是啥…不懂…就是隐藏窗体,但不是销毁

    void CDemoDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos) 
    {
        //删除SWP_SHOWWINDOW选项
        lpwndpos->flags &= ~SWP_SHOWWINDOW;
    
        CDialog::OnWindowPosChanging(lpwndpos);
    }
    

    4.13 如何使对话框全屏显示

    1. 修改样式
    2. 获取屏幕高度和宽度
    3. 设置位置和大小
    //删除WS_CAPTION和WS_BORDER风格
    ModifyStyle(WS_CAPTION, 0);
    ModifyStyle(WS_BORDER, 0);
    
    //获得屏幕长度和高度
     int cx = GetSystemMetrics(SM_CXSCREEN);
     int cy = GetSystemMetrics(SM_CYSCREEN);
    
    //设置对话框位置和大小
     SetWindowPos(NULL, 0, 0 , cx, cy, SWP_NOZORDER);
    
    CRect rect;
    GetDlgItem(IDC_TEXT)->GetWindowRect(rect);
    GetDlgItem(IDC_TEXT)->MoveWindow(cx / 2 - rect.Width() / 2, cy / 2, cx / 2, cy / 2);
    
  • 相关阅读:
    vue 防抖 节流
    数组取最小数据长度,确定长度截取,看是否全等 ,全等通过不等提示,需要拆分
    数组去重取不重复的数据
    vue
    vue2.0 子组件获取父组件值 使用v-model可渲染不能更改
    使用mpvue 开发小程序 遇到的坑
    ztree 样式更改
    vue 跨域请求
    记录 vue2.0 再使用过程中遇到的问题
    bug
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/1990803.html
Copyright © 2011-2022 走看看