PRB: Control Shape Is Distorted When You Print an ActiveX Control if You Use a Percent Value for the Height (311757)



The information in this article applies to:

  • Microsoft Internet Explorer (Programming) 5.5
  • Microsoft Internet Explorer (Programming) 6.0

This article was previously published under Q311757

SYMPTOMS

When you print ActiveX controls in Internet Explorer or view the output in Print Preview, the output may appear elongated if the height is set as a percentage value. For example, a control that draws a circle may look like an ellipse when printed.

CAUSE

This behavior can occur because the aspect ratio is different for the screen and the page. Typically, there is a wide, short-screen viewport for the Internet Explorer window, and a tall, narrow viewport for the printed page. When you print, or view output in Print Preview, you invoke a percent value of the viewport of the page, not the screen. You would notice similar behavior if you were viewing a very tall Internet Explorer window (with no proportionate expansion of the width).

If you do not size the control to the viewport of the printed page, you have to continually resize your browser window until the document fits within your page or margin area.

RESOLUTION

To preserve the layout of your page when you print it, use a specific non-relative value instead of a percentage. If you want your control to occupy a certain percentage of the screen, you can calculate the appropriate height dynamically through code. For example, instead of setting the height in the OBJECT tag in the following manner
<OBJECT id="myControl" classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02" height="75%">
				
set the height from the onLoad event of the BODY tag, as follows:
<BODY onload="javascript:myControl.height=document.body.offsetHeight * 0.75;">
<OBJECT id="myControl" classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02" >
				

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce the Problem

Use the following code to set the dimensions for the Calendar control:
<HTML><BODY>
<OBJECT id="Calendar1" classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02" width="600" height="100%">

</OBJECT>
</BODY><BR/>
</HTML>
				
Then, print the page. Note the behavior described in the "Symptoms" section of this article.

REFERENCES

For more information about how to develop Web-based solutions for Internet Explorer, browse to the following MSDN Web sites:

Modification Type:MajorLast Reviewed:5/12/2003
Keywords:kbBug kbprb KB311757