如何使ActiveX控件在编辑期间,大小不变(类似AdoCommand,DataSource)

mul 2002-07-05 05:26:50
控件是windowless(运行期不可见)
不知如何使他在编辑期间大小不变?
...全文
62 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqb 2002-07-06
  • 打赏
  • 举报
回复
在VC中你是否可以处理调整控件大小时产生的消息,将它忽略掉试试行不行。
mul 2002-07-06
  • 打赏
  • 举报
回复
我是用MFC,VC在这方面支持不如VB?
COleControl好象没有支持编辑期间的控制

各位烦请多多指教

分数不是问题

mul 2002-07-06
  • 打赏
  • 举报
回复
问题解决

代码如下:
CSmsServiceCtrl::CSmsServiceCtrl()
{
InitializeIIDs(&IID_DSmsService, &IID_DSmsServiceEvents);
SetInitialSize(32,32);
}

BOOL CSmsServiceCtrl::OnSetExtent(LPSIZEL lpSizeL)
{
// TODO: Add your specialized code here and/or call the base class
CDC* pdc = GetDC();
CSize sz(lpSizeL->cx,lpSizeL->cy);
pdc->HIMETRICtoDP(&sz);
ReleaseDC(pdc);
if (sz.cx != 32 || sz.cy != 32) return FALSE;
return COleControl::OnSetExtent(lpSizeL);
}
/////////////SmsServiceCtrl是控件名,32*32为图标大小

有兴趣的可参看COleControl , IOleObject

谢谢 wqb(啊喂) 的参与, 给分
mul 2002-07-06
  • 打赏
  • 举报
回复
那些消息在编辑期间根本不响应

不知道Delphi怎么做的,
她知道是windowless后,编辑期间就是不可变动大小的,
可VB和VC不行
wqb 2002-07-05
  • 打赏
  • 举报
回复
在VB中自己编写的控件可以在处理UserControl_Resize事件
Private Sub UserControl_Resize()
UserControl.Size 1000, 1000
End Sub

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧