createwindow 和 dialogbox的区别

    首先CRETTEWINDOW不是同步函数,但是DIALOGBOX是OK?

二CREATEWINDOW是原生的WIN32函数,但是DIALOGBOX是CREATEWINDOW和EVENT+WAITSINGLEOBJECT的共同体,也就是对CREATE和信息量的封装。那个WINDOW不DESTROY信号量不释放,你的DIALOG就不会返回,这就是他同步的机制。

 ----------------------------------------------------------------------------

比起先register   class,CreateWindow,然后GetMessage,TranslateMessage,DispatchMessage   ,   直接把所有工作交给DialogBox不是更方便?请问这样做有什么缺点? 
20 回复次数:7 

第1个回答
没什么缺点。 
模态对话框有自己的消息循环。 



第2个回答
这样写小程序比较快的. 



第3个回答
其实对话框和普通窗口都差不多.只不过普通窗口程序需要自己定义窗口过程,而对话框系统负责,但是修改rc文件,可以把默认的窗口过程替换成用户自己的,有点忘记了,大概这样.对话框只是一个特殊的窗口. 



第4个回答
没什么缺点。这样写比自己注册类简单一点,比用MFC麻烦。主要看个人爱好。 



第5个回答
缺点就是自由度不够。但凡省事的,总有缺失的。 



第6个回答
好用就好,管那么多优点缺点干嘛 



第7个回答
int   WINAPI   WinMain(HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,   PSTR   szCmdLine,   int   iCmdShow)   { 
        DialogBox(   hInstance,   (   LPCTSTR   )   IDD_DIALOG1,   NULL,   (   DLGPROC   )   WndProc   ); 

        return   0; 

================================================================================================= 
Windows   uses   its   own   internal   window   procedure   to   process   messages   to   a   dialog   box   window.   Windows   then   passes   these   messages   to   a   dialog   box   procedure   within   the   program   that   creates   the   dialog   box.   

so   application   cannot   catch   such   as   WM_KEYUP,WM_KEYDOWN   messages   in   its   own   DialogProc. 
(   try   to   catch   them) 

转载于:https://my.oschina.net/ypimgt/blog/65247

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值