VC 创建窗口

 

ExpandedBlockStart.gif 代码
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);

 

 

转载于:https://www.cnblogs.com/chengxin1982/archive/2010/02/01/1660690.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值