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);

  • 相关阅读:
    主线程和子线程的区别
    正则表达式 之 常用实例
    Asp.Net 之 未能加载文件或程序集 system.web.extensions 解决方法
    .Net 与 Java 的服务接口相互调用
    C# 之 SqlConnection 类
    ADO.Net 之 数据库连接池(一)
    C# 之 DataReader 和 DataSet 的区别
    Asp.Net 之 缓存机制
    IIS 之 失败请求跟踪规则
    IIS 之 HTTP错误信息提示
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/1660690.html
Copyright © 2011-2022 走看看