Sha256: 1720919d2638c76b7ed38f8fcfc86cdcd4f20d6a2f0ccb6c5a2630202d01083d
Contents?: true
Size: 1.7 KB
Versions: 14
Compression:
Stored size: 1.7 KB
Contents
Here is a quick summary for your reference: You encountered a problem in which ATL based ActiveX Control was getting set to zero size draw area in some versions of IE Mobile. We tracked down the problem to a bug in versions of IE Mobile which have the �Zoom Level� menu option. We identified a change that can be implemented in the control to work-around the problem and which does not appear to cause problems on other browsers, which don�t have the bug. The problem can be worked around by overriding the InPlaceActivate implementation, of "CComControlBase", in the control code. The work-around is described below: To override InPlaceActivate : 1) Add the following function to your control class: "HRESULT InPlaceActivate(long iVerb, const RECT* prcPosRect)" to your control class. (if using the "Add Member Function Wizard" * set "Return type:" to "HRESULT" * set "Function name:" to "InPlaceActivate" > First Parameter: * set "Parameter type:" to "long" * set "Parameter name:" to "iVerb" * click "Add" > Second Parameter: * set "Parameter type:" to "const RECT*" * set "Parameter name:" to "prcPosRect" * click "Add" * click "Finish" 2) copy the implementation of "CComControlBase::InPlaceActivate" from "atlctl.h" into your new function, replacing the existing content. ("...\VC\ce\atlmfc\include\atlctl.h") 3) In in the code you copied search for the call to "CreateControlWindow" 4) add the following code *before* the call to "CreateControlWindow": if (rcPos.right == rcPos.left && rcPos.bottom == rcPos.top) { rcPos = rcClip = m_rcPos; } // now call CreateControlWindow... 5) save your changes and rebuild the control.
Version data entries
14 entries across 14 versions & 1 rubygems