perhaps 发表于 2013-1-28 13:21:38

噢,我的第一个基于SDK的窗口(续)

        首先,我要自我检讨一下,在学习的过程对于细节问题没有足够的重视,以致于忽视了问题产生的根源,同时也对自己解决问题的方法感到惭愧。期待自己能够尽快改正这些缺点,取得更大的进步。
        我想,通常一个问题存在的原因不仅仅是单个方面的,它有可能是多个因素共同影响产生的结果。在面对问题的时候,应该冷静下来列举出导致问题发生的几种可能性,接着逐个排除,如果可能性都排除之后,就接着再列举可能性,如此反复,直至发现根本原因为止。
        举一个最近的例子吧,今天大半天的时间都在学习如何利用Windows SDK的API去创建一个窗口,遇到了不少的问题,最后需要解决的就是在点击了关闭按钮之后,窗口消失了但是进程中仍然存在该应用程序的问题。上一篇blog中给出了解答,而这个解答对于那篇blog中的代码而言是正确的,因为那里的代码是第二个版本。然而,这个解答对于我的第一个版本的代码是不起作用的,大家可以先看一下第一个版本代码的关键部分:
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">http://www.agoit.com/Images/OutliningIndicators/None.giffor(;;)
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedBlock.gifhttp://www.cnblogs.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif if (PeekMessage(&msg,hwnd,0,0,PM_REMOVE))
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif    http://www.cnblogs.com/Images/dot.gif{ 
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif       if (msg.message == WM_QUIT)
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif           break;   
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif    TranslateMessage(&msg);  
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif    DispatchMessage(&msg);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    } 
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockEnd.gif}
页: [1]
查看完整版本: 噢,我的第一个基于SDK的窗口(续)