zoukankan      html  css  js  c++  java
  • 025.MFC_窗口操作

    窗口操作

    一、建立名为dialogOp 的mfc 工程 ,添加9个button 和1个check box组件,并按如图修改caption属性。

    最大化窗口

    双击最大化button,进入dialogOpDlg.cpp添加

    void CdialogOpDlg::OnBnClickedButton1()
    {
    // TODO: 在此添加控件通知处理程序代码
    SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE);
    }

    最小化窗口

    双击最小化button,进入dialogOpDlg.cpp添加

    void CdialogOpDlg::OnBnClickedButton2()
    {
    // TODO: 在此添加控件通知处理程序代码
    SendMessage(WM_SYSCOMMAND,SC_MINIMIZE);
    }

    关闭窗口

    方法一:

    双击还原button,进入dialogOpDlg.cpp添加

    void CdialogOpDlg::OnBnClickedButton3()
    {
    // TODO: 在此添加控件通知处理程序代码
    SendMessage(WM_SYSCOMMAND,SC_RESTORE);
    }

    方法二(弹框确认):参照如图步骤操作进入dialogOpDlg.cpp添加

    void CdialogOpDlg::OnClose()
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    if(IDYES == MessageBox(_T("确定关闭窗口?"),NULL,MB_YESNO))
    {
    CDialogEx::OnClose();
    }
    }

    设置窗口大小和位置

    方法一:双击大小位置1button,进入dialogOpDlg.cpp添加

    void CdialogOpDlg::OnBnClickedButton5()
    {
    // TODO: 在此添加控件通知处理程序代码
    //其实坐标x ,y,长,宽,前后顺序
    SetWindowPos(NULL,100,100,400,300,SWP_NOZORDER);
    }

    方法二:双击大小位置2button,进入dialogOpDlg.cpp添加

     void CdialogOpDlg::OnBnClickedButton6()
    {
    // TODO: 在此添加控件通知处理程序代码
    //其实坐标x ,y,长,宽
    MoveWindow(0,0,600,400);
    }

    居中显示窗口

     双击居中button,进入dialogOpDlg.cpp添加

    void CdialogOpDlg::OnBnClickedButton7()
    {
    // TODO: 在此添加控件通知处理程序代码
    CenterWindow();
    }

    顶层显示窗口

    参照如图步骤进入dialogOpDlg.cpp添加

     

    void CdialogOpDlg::OnBnClickedCheck1()
    {
    // TODO: 在此添加控件通知处理程序代码
    BOOL bTop = static_cast<CButton *>(GetDlgItem(IDC_CHECK1))->GetCheck();
    if(bTop)
    ::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//当前窗口句柄,顶层,x,y,长,宽,不改变位置和大小
    else
    ::SetWindowPos(m_hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//当前窗口句柄,顶层,x,y,长,宽,不改变位置和大小
    }

    设置窗口图标

    一、按照如下步骤将icon添加到res目录

    ico下载

     

    2、参照如下步骤将ico文件添加到资源视图Icon中

    3、进入dialogOpDlg.cpp添加

    BOOL CdialogOpDlg::OnInitDialog()
    {
    CDialogEx::OnInitDialog();

    // 将“关于...”菜单项添加到系统菜单中。

    // IDM_ABOUTBOX 必须在系统命令范围内。
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
    BOOL bNameValid;
    CString strAboutMenu;
    bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
    ASSERT(bNameValid);
    if (!strAboutMenu.IsEmpty())
    {
    pSysMenu->AppendMenu(MF_SEPARATOR);
    pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    }
    }

    // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
    // 执行此操作
    SetIcon(m_hIcon, TRUE); // 设置大图标
    //SetIcon(m_hIcon, FALSE); // 设置小图标
    HICON hIcon = AfxGetApp()->LoadIcon(IDI_ICON);
    SetIcon(hIcon,FALSE);
    // TODO: 在此添加额外的初始化代码

    SetWindowText(_T("my title")); //设置初始标题

    return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
    }

    获取和设置窗口标题

     双击修改标题button,进入dialogOpDlg.cpp添加

    void CdialogOpDlg::OnBnClickedButton8()
    {
    // TODO: 在此添加控件通知处理程序代码
    SetWindowText(_T("QQQQ"));
    }

    双击读取标题button,进入dialogOpDlg.cpp添加
    void CdialogOpDlg::OnBnClickedButton9()
    {
    // TODO: 在此添加控件通知处理程序代码
    CString s;
    GetWindowText(s);
    AfxMessageBox(s);
    }

  • 相关阅读:
    TERSUS无代码开发(笔记43)-整理可视化元件手册-13文本/字符串处理元件(28个)
    TERSUS无代码开发(笔记42)-整理可视化元件手册-12安全控制元件(9个)
    TERSUS无代码开发(笔记41)-整理可视化元件手册-11数学元件(29个)
    TERSUS无代码开发(笔记40)-整理可视化元件手册-10流程处理元件(4个)
    TERSUS无代码开发(笔记39)-整理可视化元件手册-09显示元件(40个)
    java实现md5加密
    redis的配置文件redis.conf常用配置
    centos7中安装redis出现的问题
    队列
    生产者 和 消费者
  • 原文地址:https://www.cnblogs.com/Malphite/p/10835444.html
Copyright © 2011-2022 走看看