如何固定一个activex控件的初始大小?

如何固定一个activex控件的初始大小?

Q:
我做了一个控件(用MFC),做好之后,我想只要把它加入一个对话框它就自动设成固定大小,我试了多种方法都不行,我重载了precreatewindow,还有colecontrol::setinitialsize,都没有任何效果,控件只要一加入对话框的资源栏就自动成初始大小(100,50),可是如果在activex   control   test   container中就没有问题。
A:
a1:(未验证)
return   ideal   RECT   in   IOleObjectImpl::GetExtent。
a2:(已通过验证)
First,   we   need   to   set   the   initial   size   of   the   control   to   its   static   size   using   the   COleControl::SetInitialSize   method.   This   should   be   done   in   your   control 's   constructor   like   this:

  
//   CFAQCtrl::CFAQCtrl   -   Constructor  
CFAQCtrl::CFAQCtrl()  
{
      InitializeIIDs(&IID_DFAQ,   &IID_DFAQEvents);  
      SetInitialSize(   28,   28   );  
}

override   OnSetExtent   and   return   FALSE,   which   tells   the   container   that   the   control   cannot   be   re-sized
BOOL   CFAQCtrl::OnSetExtent(   LPSIZEL   lpSizeL   )  
{  
      return   FALSE;  
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值