首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

电子签章 控件移动有关问题

2012-05-27 
电子签章控件移动问题我在图章控件的OnDraw函数里面加了::SetWindowPos(m_hWnd,HWND_TOP,0,0,0,0,SWP_NOMO

电子签章 控件移动问题
我在图章控件的OnDraw函数里面加了::SetWindowPos(m_hWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE); 然后控件就可以移动了。
但是加上这句代码后,我插在word里的控件不能响应消息函数了。应该是句柄的问题吧,怎么处理呢?

[解决办法]
说明两点:
1.位置控制
移动位置需要通过调用WORD接口,直接移动shape来实现移动公章控件的功能。
直接通过SetWindowPos虽然可以达到移动公章控件的功能,但WORD的机制是将控件放在contan,,,中,所以包含此控件的容器没有移动。再次点击控件时没有点击在容器上(容器还在原位置),消息传不给控件。

2.大小控制
公章控件的大小需要通过控件本身来实现:
AtlPixelToHiMetric(&pixels,&szlMetric);
SetExtent(DVASPECT_CONTENT, &szlMetric);
if (m_spInPlaceSite != NULL)
{
m_rcPos.right= m_rcPos.left + pixels.cx;
m_rcPos.bottom= m_rcPos.top + pixels.cy;
m_spInPlaceSite->OnPosRectChange(&m_rcPos);
}

热点排行