请问各位,MFC里如何能让控件隐藏不见啊?例如,让一个叫m_edit的编辑框隐藏不见,需要在添加什么代码呢?谢谢大家!!!!

解决方案 »

  1.   

    GetDlgItem(IDC_MYEDIT)->ShowWindow(false);
    或者
    m_edit.ShowWindow(false);
      

  2.   

    GetDlgItem(IDC_MYEDIT)->ShowWindow(SW_HIDE);
      

  3.   

    GetDlgItem(IDC_MYEDIT)->ShowWindow(SW_HIDE);
      

  4.   

    已经有人提供了正确答案,为什么还会有其他人源源不断的提供相同的东西呢?而且反而还有错,比如说写了 m_edit.ShowWindow(false); 的同志。
      

  5.   

    Re dandycheung(珠穆朗玛) :
    1、我Reply时没有发现已经有人回答,这是因为我习惯同时打开多个网页的缘故;
    2、我更习惯用ShowWindowa(false),因为它没有错,假如你知道
    #define SW_HIDE            0
      的话,
      或者你知道先调试一下再批评别人的话。:)
      

  6.   

    Re I_Love_CPP(我爱C++) :
    1、我说的不止你一个人,所以这点你大可不必特别回答我;而且我不会相信其他人的情况和你完全一样
    2、在这一点上我们的分歧好像比较大。
    我不是不知道 SW_HIDE 的值和 false 在数值上相同。但是,既然你在回答别人的问题,就说明他在这一点上没有你了解的多,而你的答案会让人有该函数的参数类型为 bool 型的暗示。我想你不会在平常的编程中把一个参数为 int 类型的函数调用在值为 0 时都写成 false 吧?另外如果写这么一个参数尚且需要去了解具体的值是多少吗,那么预定的宏还有什么用呢?共勉。
      

  7.   

    OK,我也没有和人争吵的习惯。 :)
    只是我觉得自己是好心帮人结果被人指责,心里不舒服而已。另外,我之所以用ShowWindow(false),不仅是因为数值上的原因,
    我认为ShowWindow(false)更形象,也更好记忆;
    而并不是把所有0都当作false。
      

  8.   

    我比较同意 I_Love_CPP(我爱C++) 的意见,其实有时候mfc的宏定义真的太多了,我想只要我们能够比较好的表达我们的意思就行了,我也是有这种习惯,写成ShowWindow(FLASE)。
      

  9.   

    to: csdn_cht(欣欣兽):
    SW_XXX 宏是 SDK 里定义的,不是 MFC 的。to: I_Love_CPP(我爱C++) :
    我也没有和人争吵的习惯,不过我不认为这是争吵。:)
    就事论事,我并不想改变你的习惯,而是认为我们需要为提出问题的人负责。固然,ShowWindow(false) 很形象,那么,显示窗口呢,如果我是一个初学者,看了你的答案后,我很可能想当然的认为应该是 ShowWindow(true),而这就不一定对了,应为 true(1)对应的命令是 SW_SHOWNORMAL,而单纯显示窗口应该使用 SW_SHOW,其值是 5。我将不再对此帖回复,再见。
      

  10.   

    to 欣欣兽
    你比较同意 I_Love_CPP(我爱C++) 的意见,其实有时候mfc的宏定义真的太多了,你想只要你们能够比较好的表达他们的意思就行了,你也是有这种习惯,写成ShowWindow(FLASE)。我比较不同意 I_Love_CPP(我爱C++) 的意见,其实有时候mfc的宏定义真的不算太多了(不明的为何要说有时候多,难道还有时候就少了吗?),我想只要我们能够比较好的表达我们的意思是不行的,我是没有这种习惯,写成ShowWindow(FLASE)真是特错大错,连编译都通不过。:)灌你一水,不要介意。但我要说明的观点是好的编程习惯是非常重要的。因为你写的程序并不就只有你自己一人去阅读,你还要让以后为这段程序做维护的或是做二次开发的人能够读懂它。换言之,如果MS不定义如此多的宏,相信你是很难在短时间内理解其含义的。