zoukankan      html  css  js  c++  java
  • VC 创建窗口

    代码
    INT_PTR CALLBACK DialogProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
    {
        
    switch (Msg)
        {
        
    case WM_INITDIALOG :
            {
                MessageBox(
    0, L"初始化模态窗口!", L"提示", MB_OK);
                
    return true;

            }
        
    case WM_COMMAND:
            {
                
    switch (LOWORD(wParam))
                {
                
    case IDCANCEL:
                    {
                        ::EndDialog(hWnd, 
    0);
                        
    return false;
                    }
                    
                }
            }
        
    break ;
        }
        
    return false;
       
    /*
       返回 True 表示不再继续处理, False 表示返回消息处理函数继续处理
       
    */
    }

    1
    创建模态窗口 在资源窗口添加Dialog ,定义类名,Dlg 引用新加的Dialog头文件,定以新加的Dialog对象, 调用DoModal

    代码

    CMyDialog test;  // CMyDialog  在创建资源文件时定义
    test.DoModal();

    API方式创建模态窗口

     CMyDialog test;
     HINSTANCE hInstance = (HINSTANCE)::GetModuleHandle(NULL);
     ::DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), this->m_hWnd, DialogProc);

    2 创建非模态

     CMyDialog* test = new CMyDialog();
     test->Create(IDD_DIALOG1, NULL);
     test->ShowWindow(SW_SHOW); 

    API 方式创建

     CMyDialog test;
     HINSTANCE hInstance = (HINSTANCE)::GetModuleHandle(NULL);
     HANDLE handle = ::CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc);        // 第3个函数 为当前窗口句柄不可切换 NULL  可切换
     ::ShowWindow((HWND)handle, SW_SHOW);

  • 相关阅读:
    Promise 对象
    [转] LVM分区在线扩容
    [转] 打开 CMD 时自动执行命令
    [转] FFmpeg常用基本命令
    systemd 之 journalctl
    systemd 之 systemctl
    关于用户权限的加强与理解(上)
    [转] 测试环境下将centos6.8升级到centos7的操作记录
    [搞机] 双网卡做数据均衡负载
    [转] 网络基础知识1:集线器,网桥,交换机
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/1660690.html
Copyright © 2011-2022 走看看