我写了个ATL控件,在用的时候不想让用户改变它的大小,并且在运行时自动不可见,就象VB中的Timer控件那样。该怎么弄呀?
请多多指教!
谢谢了,先!

解决方案 »

  1.   

    好像在AppWizard中可以设置。
    下班后帮你看看,^_^
      

  2.   

    ATL Object Wizard 中设置 invisible at runtime
      

  3.   

    在控件类的构造函数中加入以下语句,就可以禁止控件改变大小。
      m_bAutoSize = TRUE;  SIZEL size = {24, 24};
      AtlPixelToHiMetric(&size, &m_sizeExtent);
      m_sizeNatural = m_sizeExtent;
    至于要使控件在运行时不可见,楼上的方法就很正确了!
    如果还不能理解可以在MSDN中输入OLEMISC
      

  4.   

    freeshoot(巴蒂刘):你的方法
    ATL Object Wizard 中设置 invisible at runtime是可以使控件在运行时不可见。可是,我现在已经把程序写好了!怎么改呢?多谢指教!
      

  5.   

    在liaoxw81(Meny)的提示下,我查询了MSDN,终于搞定怎样在程序已经写好的情况下让控件在运行时不可见!
    打开工程中的rgs文件,里面有如下的代码:
    'MiscStatus' = s '0'
    {
    '1' = s '131473'
    }
    其中 '1' = s 后面的值就是MiscStatus的值,MSDN中输入OLEMISC可以查询到
    OLEMISC_INVISIBLEATRUNTIME = 1024 
    也就是运行时不可见的值为1024,将131473改为132497(131473+1024)就可以让控件在运行时不可见!