我自己制作的MFC ACTIVE控件,使用了一个自己的DIALOG的界面,在运行的时候,当然一切都OK,但是在该控件被别的程序中使用的时候时,比如VB,VC中创建一个DIALOG的程序,将我的控件拖到界面上之后,发现是一块空白,没有显示出运行时的界面,只有当运行之后,该界面才会出来。
所以,请教大家,怎么控制控件运行和设计时的界面。
另外,再问一下如果用户在设计的时候,不让他能够改变我的控件大小,怎么办,比如MSCOMM控件就不能又用户改变界面大小。
谢谢!

解决方案 »

  1.   

    COleControl::AmbientUserMode  
    This  method  determines  the  mode  of  the  container.  For  example,  a  container  might  set  this  to  FALSE  in  design  mode.  
     
    BOOL  AmbientUserMode(  );    
    Return  Value  
    Nonzero  if  the  container  is  in  user  mode;  otherwise,  it  is  zero,  in  design  mode.  If  this  property  is  not  supported,  this  function  returns  zero.
      

  2.   

    return a fixed size in 
    IOleObject::GetExtent
    and 
    IViewObject2::GetExtent
      

  3.   

    谢谢 masterz(MS MVP) 
    第一个问题已经明白了,第二个问题也明白了大概意思,但还是不知道怎么用,能否给点代码提示,放在哪个函数内,谢谢。
    解决后马上结帖。
      

  4.   

    在OnDraw()里绘制你的ActiveX控件界面重载OnSize()函数,可以限制大小的吧。
      

  5.   

    不能,我试过了,可能我的方法不对,
    我把Rect大小调回来也不管用。