Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / Adapters / MSHTMLHostUtil.cs / 1305376 / MSHTMLHostUtil.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Drawing;
using System.Web.UI.Design.MobileControls.Util;
namespace System.Web.UI.Design.MobileControls.Adapters
{
[
System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand,
Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)
]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
internal static class MSHTMLHostUtil
{
private const int CONTROL_WIDTH = 64;
private const int CONTROL_HEIGHT = 4096;
private static MSHTMLHost _tridentControl;
private static NativeMethods.IHTMLElement _htmlBody;
private static NativeMethods.IHTMLElement _htmlDivOuter;
private static NativeMethods.IHTMLElement _htmlDivInner;
private static void CreateControl()
{
if (null != _tridentControl && null != _htmlBody)
{
return;
}
_tridentControl = new MSHTMLHost();
_tridentControl.Size = new Size(CONTROL_WIDTH, CONTROL_HEIGHT);
_tridentControl.CreateTrident();
_tridentControl.ActivateTrident();
NativeMethods.IHTMLDocument2 htmlDoc2 = _tridentControl.GetDocument();
_htmlBody = htmlDoc2.GetBody();
}
internal static void ApplyStyle(String enterStyle, String exitStyle, String cssStyle)
{
MSHTMLHostUtil.CreateControl();
String bodyInnerHTML = "" +
enterStyle +
"" +
exitStyle +
"";
// MessageBox.Show("Body HTML for empty content: " + bodyInnerHTML);
_htmlBody.SetInnerHTML(bodyInnerHTML);
NativeMethods.IHTMLDocument3 htmlDoc3 = (NativeMethods.IHTMLDocument3) _tridentControl.GetDocument();
Debug.Assert(null != htmlDoc3);
_htmlDivInner = htmlDoc3.GetElementById("__divInner");
_htmlDivOuter = htmlDoc3.GetElementById("__divOuter");
Debug.Assert(null != _htmlDivOuter && null != _htmlDivInner);
}
#if UNUSED_CODE
internal static int GetTextWidth(String text)
{
Debug.Assert(null != _htmlDivOuter && null != _htmlDivInner);
_htmlDivInner.SetInnerText(text);
NativeMethods.IHTMLElement2 htmlElement2 = (NativeMethods.IHTMLElement2) _htmlDivOuter;
Debug.Assert(null != htmlElement2);
return htmlElement2.GetClientWidth();
}
#endif
internal static int GetHtmlFragmentWidth(String htmlFragment)
{
Debug.Assert(null != _htmlDivOuter && null != _htmlDivInner);
_htmlDivInner.SetInnerHTML(htmlFragment);
NativeMethods.IHTMLElement2 htmlElement2 = (NativeMethods.IHTMLElement2) _htmlDivOuter;
Debug.Assert(null != htmlElement2);
return htmlElement2.GetClientWidth();
}
internal static int GetHtmlFragmentHeight(String htmlFragment)
{
Debug.Assert(null != _htmlDivOuter && null != _htmlDivInner);
_htmlDivInner.SetInnerHTML(htmlFragment);
NativeMethods.IHTMLElement2 htmlElement2 = (NativeMethods.IHTMLElement2) _htmlDivOuter;
Debug.Assert(null != htmlElement2);
return htmlElement2.GetClientHeight();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ManipulationCompletedEventArgs.cs
- DecoderNLS.cs
- TextPenaltyModule.cs
- ToolStripPanelSelectionBehavior.cs
- NullToBooleanConverter.cs
- _ServiceNameStore.cs
- TableSectionStyle.cs
- TableCell.cs
- QilXmlWriter.cs
- PersonalizationDictionary.cs
- MenuItemBindingCollection.cs
- SettingsAttributes.cs
- AppDomainUnloadedException.cs
- ProfilePropertyNameValidator.cs
- ConfigXmlSignificantWhitespace.cs
- SpellerHighlightLayer.cs
- MetadataFile.cs
- DataRelationPropertyDescriptor.cs
- PKCS1MaskGenerationMethod.cs
- EditingCoordinator.cs
- SendParametersContent.cs
- OutputCacheProfileCollection.cs
- SchemaObjectWriter.cs
- StreamGeometry.cs
- WebRequest.cs
- LoginName.cs
- HMACSHA384.cs
- ListViewEditEventArgs.cs
- ExcludeFromCodeCoverageAttribute.cs
- BaseParser.cs
- Membership.cs
- BlobPersonalizationState.cs
- LinkedResource.cs
- TextEditorMouse.cs
- ItemsChangedEventArgs.cs
- SelectionProcessor.cs
- CodeNamespaceCollection.cs
- Visitors.cs
- RoleGroup.cs
- DrawingServices.cs
- XmlNamespaceDeclarationsAttribute.cs
- NullableDecimalAverageAggregationOperator.cs
- SelectionRange.cs
- DrawingBrush.cs
- InputLanguageSource.cs
- ControlPropertyNameConverter.cs
- EdmItemError.cs
- ToolStripDropDownMenu.cs
- DataGridViewButtonColumn.cs
- StaticSiteMapProvider.cs
- RSATokenProvider.cs
- DecimalAverageAggregationOperator.cs
- SimpleRecyclingCache.cs
- XmlNodeReader.cs
- TranslateTransform3D.cs
- ButtonChrome.cs
- UInt16.cs
- ObjectStateFormatter.cs
- CreateUserErrorEventArgs.cs
- GenericEnumerator.cs
- CompareValidator.cs
- ClientBuildManager.cs
- TreeViewItem.cs
- HierarchicalDataBoundControl.cs
- ProxyWebPartManager.cs
- OpenCollectionAsyncResult.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- ChannelPoolSettings.cs
- OdbcErrorCollection.cs
- StyleHelper.cs
- ValidatorCollection.cs
- DateTimeOffsetAdapter.cs
- DataGridViewImageColumn.cs
- LinqDataSourceView.cs
- BaseAppDomainProtocolHandler.cs
- QueryOutputWriterV1.cs
- IOThreadTimer.cs
- Color.cs
- BindingGroup.cs
- InheritanceContextHelper.cs
- SqlCacheDependencyDatabaseCollection.cs
- ContainerControl.cs
- SortQueryOperator.cs
- CurrencyManager.cs
- followingsibling.cs
- WebPartMenuStyle.cs
- PageCatalogPart.cs
- XmlSchemaImporter.cs
- CircleHotSpot.cs
- ContextBase.cs
- ControlDesigner.cs
- ConstraintConverter.cs
- Accessors.cs
- oledbmetadatacolumnnames.cs
- ErrorProvider.cs
- ConfigurationLockCollection.cs
- ExpressionParser.cs
- ProfileSection.cs
- ModelServiceImpl.cs
- EditorZone.cs