如题

解决方案 »

  1.   

    呵呵........何老大突然大架光临,小弟深感荣幸,不过也吓了一跳!原贴在这儿:http://community.csdn.net/Expert/topic/3159/3159054.xml?temp=.8558618,不过事情有点小小的复杂,容我给各位大侠说明一下。早上我正在发贴,中间有事走开了一会,谁知道我同学把他的号打开了,我回来也没仔细看,就发出了,结果却成了他的贴!然后我又在CSDN技术开发群(2498489)中把上述地址贴了出来,希望多点人看见以便早点解决问题。以下是我和m_syb(编程浪子) 在群中的对话,各位如果也加入了此群的话,应该可以在聊天记录中看得到的。  (2004-07-09 10:54:29) (110743084) 
    那位帮忙看看: 
    http://community.csdn.net/Expert/topic/3159/3159054.xml?temp=.2399256 
    (2004-07-09 10:58:03) 编程浪子(64976267) 
    大家不是都说了 
    还没搞定吗? 
    (2004-07-09 10:59:13) (110743084) 
    没呀, 
    那种方法不能保证每次都能成功, 主要第二问,你看看就知道了,程序执行流程不一样啊 
    (2004-07-09 11:01:00) 编程浪子(64976267) 
    没有问题 
    在调用MoveWindow前 
    先调GetSafeHwnd()判定一下是否为空就可以了 
    (2004-07-09 11:01:32) (110743084) 
    无论你是邦定变量还是通过GetDlgItem()获取控件指针,当程序先处理OnSize(),然后再OnInitDialog()时,就会出错,说目标窗口的句柄无效! 
    (2004-07-09 11:01:50) 编程浪子(64976267) 
    按我说的去做 
    (2004-07-09 11:02:15) (110743084) 
    GetSafeHwnd()只能判定,并不能保证窗口句柄有效 
    (2004-07-09 11:02:46) 编程浪子(64976267) 
    我晕啊 
    判定无效你还调MoveWindow做什么啊 
    (2004-07-09 11:03:27) (110743084) 
    那我在OnSize()中就不能改变大小了, 我要求每次都能成功 
    (2004-07-09 11:03:51) 编程浪子(64976267) 
    就是在OnSize里判定 
    (2004-07-09 11:04:05) (110743084) 
    就是这么做的啊 
    (2004-07-09 11:04:20) 编程浪子(64976267) 
    每次改变大小前 
    都判定一下窗口是否有效 
    还不明白吗 
    (2004-07-09 11:04:44) (110743084) 
    我明白你的意思 
    (2004-07-09 11:05:04) 编程浪子(64976267) 
    那有什么问题 
    我做了,什么问题也没有啊 
    (2004-07-09 11:05:47) (110743084) 
    但如果程序在处理OnInitDialog()之前,先处理OnSize()了,那么就会失败 
    (2004-07-09 11:06:25) 编程浪子(64976267) 
    有什么失败 
    不懂 
    (2004-07-09 11:06:29) (110743084) 
    能不能给个邮箱,我把程序发给你帮我看看 
    (2004-07-09 11:06:42) (110743084) 
    我可以开贴送分 
    (2004-07-09 11:06:49) 编程浪子(64976267) 
    直接传给我就行了 
    (2004-07-09 11:07:05) (110743084) 
    好,你等下
      

  2.   

    然后,我们互相加了好友,以下是聊天记录:(2004-07-09 11:31:47)   编程浪子
    终止了 
    (2004-06-15 16:43:54)               
    ?? 
    (2004-06-15 16:44:03)               
    再传?? 
    (2004-06-15 16:45:47)               
    这是个测试,我想试试改变OK按钮大小 
    (2004-07-09 11:35:43)   编程浪子
    好的       
    (2004-06-15 16:48:01)               
    谢谢 
    (2004-07-09 11:39:51)   编程浪子
    看看 
    (2004-06-15 16:52:27)               
    怎么样? 
    (2004-07-09 11:40:57)   编程浪子
    你看看好用不   
    (2004-06-15 16:53:33)               
    怎么会这样?我这边无法通过编译的 
    (2004-06-15 16:53:53)               
    你怎么改的? 
    (2004-06-15 16:54:13)               
    能把你改后的文件传过来吗? 
    (2004-06-15 16:55:11)               
    大侠,教教小弟啊 
    (2004-07-09 11:44:05)   编程浪子
    就按我说的做就行了
    没改什么啊 
    (2004-06-15 16:56:15)               
    什么都没改? 
    (2004-07-09 11:45:26)   编程浪子
    在移动前判定一下
    就改了这些          
    (2004-06-15 16:57:50)               
    我试试 
    (2004-07-09 11:47:30)   编程浪子
    说了那么多遍
    你还不明白我的意思吗
    你学多久了  
    (2004-06-15 17:02:04)               
    我明白了,程序在第二次OnSize()时,句柄有效了 
    (2004-06-15 17:02:57)               
    多谢大侠相救,小弟才学不久,很多东西不懂,以后请多多指教 
    (2004-07-09 11:51:21)   编程浪子
    不要客气     
    (2004-06-15 17:03:59)               
    第一次OnSize()时,p->GetSafeHwnd()返回0,MoveWindow()没有执行 
    (2004-07-09 11:53:53)   编程浪子
    我刚才说的就是这个意思
    在执行前,先判定是否合法   
    (2004-06-15 17:06:54)               
    可是我有另一个程序,没有判断,直按MoveWindow()就可以,我跟踪的结果就是它先执行了OnInitDialog(),请问OnInitDialog()里面程序做了什么?还有,这两个程序的执行流程为什么不一样呢? 
    (2004-07-09 11:55:44)   编程浪子
    那不太清楚了
    没做过测试   
    (2004-06-15 17:09:08)               
    同样基干对话框的程序,执行流程却不一样,奇怪得很 
    (2004-06-15 17:10:44)               
    我开个贴,请进来领分! 
    (2004-07-09 11:59:12)   编程浪子
    不用了
    我分多的是
    (2004-06-15 17:12:34)               
    一定要的,谢谢你的指点! 
    (2004-06-15 17:13:35)               
    听说基础类不许发这种贴子,我开到非技术区好吗 
    (2004-07-09 12:01:44)   编程浪子
    不是什么大问题
    不用了,以后大家多交流         
    (2004-06-15 17:14:37)               
    不能这样的,我说话算数的你就不要再客气了 
    (2004-07-09 12:04:08)   编程浪子
    以后再给吧N   
    (2004-07-09 12:04:17)   编程浪子
    多给点就行了
    我去吃饭了 
    (2004-06-15 17:16:31)               
    我贴已经开好了 
    (2004-06-15 17:18:14)               
    我贴已经开好了,你进来
    http://community.csdn.net/Expert/topic/3159/3159578.xml?temp=.441128 
    (2004-06-15 17:19:23)               
    我级低,只能发100分,见笑了! 
    (2004-06-15 17:40:35)               
    不好了,这怎么办:回复人: he_zhidan(何志丹:风云伐日) ( ) 信誉:130  2004-07-09 12:08:00  得分: 0  
     
     
       给出他帮助你的地址!
     
     
     
                           18:24:28
    你在线吗? 
    编程浪子 13:12:40
    在 
                 18:25:01
    你在CSDN的号是什么?我怕弄错了, 
    编程浪子 13:13:40
    编程浪子 
                 18:26:13
    给出你的全称,中英文 
                 18:26:50
    那个何志丹吓我一跳,他们要原贴,怎么办? 
    编程浪子 13:15:14
    随意了 
                 18:27:52
    他们会不会以为我们在倒分, 
    编程浪子 13:16:59
    那就不要给了 
    编程浪子 13:17:54
    我分多的是 
                 18:30:03
    而且原贴是用我同学的号发的。我正发贴,中间走开了一会,谁知道我同学把他的号打开了,我回来也没仔细看,就发出了,结果成了他的贴! 
    编程浪子 13:18:26
    算了,不要管他了 
                 18:31:50
    分还是要给的,大不了扣我“性欲” 。不过我要给他们说明一下,毕竟人家是版主! 
                 18:32:14
    回复人: m_syb(编程浪子) ( ) 信誉:99  2004-07-09 13:04:00  得分: 0  
     
     
       真不好意思!
     
     
    这个是不是你? 
    编程浪子 13:20:27
    不用这样费劲吧
    你自己看着办 
                 18:32:38
    上边那个是不是你? 
    编程浪子 13:20:59
    叫我的名字是我 
                 18:33:38
    那我结贴给分了! 
    编程浪子 13:21:50
    随便 
                 18:34:15
    以后请多多指教,886
      

  3.   

    上面就是我和m_syb(编程浪子)的全部对话,句句属实,各位版主都是计算机方面的牛人,定能明查秋毫!原贴误用我同学的号发出,这已成事实,我也没办法了。人家给我解决了问题,我的许诺就要兑现,只能开贴给分,只是没料到违反了论坛的规则,请各位版主鉴谅!如果一定要处罚,我愿意一人承担!此贴我就作以上说明,如果没有其它问题,我将在两天后结贴!至干原贴,只能由我同学本人来管理了,我确实无能为力!由干我的失误给大家带来诸多不便,还请多多包涵!敬请版主鉴谅!!