IE8有放大小缩小的功能,界面上的元素会相应放大缩小,
我发MFC的ActiveX可以做出这个响应,但很可怜,调来调去后就显示的乱了,
Atl的干脆就不支持这个缩放(主要是字体不跟着缩放),但是在OnDraw的参数里却也能体现出当前控件缩放的情况,现在的问题是,当ActiveX被IE缩放后不能正常的发生重绘(我的是Win7),显示的乱的,于是我想问的是我怎么能第一时间得知现在IE的缩放情况,且自动来适应呢?注:我已知道怎么在Atl里缩放字体了,主要是不知道IE缩放的消息以便我及时的重绘。我试过Size事件,但不太好使。请指教!
我发MFC的ActiveX可以做出这个响应,但很可怜,调来调去后就显示的乱了,
Atl的干脆就不支持这个缩放(主要是字体不跟着缩放),但是在OnDraw的参数里却也能体现出当前控件缩放的情况,现在的问题是,当ActiveX被IE缩放后不能正常的发生重绘(我的是Win7),显示的乱的,于是我想问的是我怎么能第一时间得知现在IE的缩放情况,且自动来适应呢?注:我已知道怎么在Atl里缩放字体了,主要是不知道IE缩放的消息以便我及时的重绘。我试过Size事件,但不太好使。请指教!
varIn.vt = VT_I4;
varIn.lVal = 4; //size here
ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, &varIn, &varOut);
varIn.vt = VT_I4;
varIn.lVal = 4; //size here
ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, &varIn, &varOut);
我为什么要拦截Exec呢? IE会把它Zoom的消息通过Exec来通知我的控件吗?我试了IOleCommandTarget接口,Exec一点反应也没有。帖子加分了,希望高手支招!