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
- BridgeDataReader.cs
- LinearGradientBrush.cs
- SQLBytes.cs
- RemoteWebConfigurationHostStream.cs
- ApplicationServiceHelper.cs
- MarginCollapsingState.cs
- SerializationStore.cs
- XmlDeclaration.cs
- OlePropertyStructs.cs
- SmiSettersStream.cs
- TableColumn.cs
- WebHttpBindingElement.cs
- TextBoxBase.cs
- SymbolEqualComparer.cs
- MultilineStringConverter.cs
- XmlILAnnotation.cs
- ModuleElement.cs
- DataObject.cs
- GacUtil.cs
- SafeCryptHandles.cs
- Int16AnimationUsingKeyFrames.cs
- CriticalHandle.cs
- SemanticBasicElement.cs
- GraphicsPath.cs
- Pair.cs
- PropertyIDSet.cs
- CompatibleComparer.cs
- TraceData.cs
- Query.cs
- SpeakInfo.cs
- BitmapData.cs
- CompiledELinqQueryState.cs
- CodeArgumentReferenceExpression.cs
- Semaphore.cs
- _BaseOverlappedAsyncResult.cs
- OrthographicCamera.cs
- ExtenderHelpers.cs
- TaskHelper.cs
- SqlDependency.cs
- XmlQueryType.cs
- AttributedMetaModel.cs
- XmlSchemaObjectTable.cs
- TypeDependencyAttribute.cs
- ObjectDataSource.cs
- EntityDataSourceWrapper.cs
- PreservationFileWriter.cs
- Point3DIndependentAnimationStorage.cs
- SignedXml.cs
- NamedPipeWorkerProcess.cs
- DependencyObjectType.cs
- RelationshipType.cs
- Soap12FormatExtensions.cs
- XmlNamedNodeMap.cs
- BindingsCollection.cs
- XPathSelectionIterator.cs
- TypedAsyncResult.cs
- CategoryGridEntry.cs
- MyContact.cs
- HexParser.cs
- TableRow.cs
- XmlAtomErrorReader.cs
- PriorityRange.cs
- RegularExpressionValidator.cs
- ContextConfiguration.cs
- BitmapScalingModeValidation.cs
- ListMarkerSourceInfo.cs
- InvalidDataException.cs
- InvalidStoreProtectionKeyException.cs
- RectangleConverter.cs
- ZipPackagePart.cs
- AbstractExpressions.cs
- StackBuilderSink.cs
- FixedHyperLink.cs
- SystemIPv4InterfaceProperties.cs
- TableProviderWrapper.cs
- XmlResolver.cs
- SerializationAttributes.cs
- ModelItemImpl.cs
- WindowsFormsHostPropertyMap.cs
- ListViewContainer.cs
- Timer.cs
- FormsAuthentication.cs
- ReadOnlyHierarchicalDataSource.cs
- ObjectStateEntryDbDataRecord.cs
- PathFigure.cs
- TextPenaltyModule.cs
- CatalogZone.cs
- CompModSwitches.cs
- ProfileGroupSettings.cs
- WinEventHandler.cs
- TreeBuilder.cs
- FtpWebResponse.cs
- GraphicsContainer.cs
- PackagePartCollection.cs
- CanExpandCollapseAllConverter.cs
- ScheduleChanges.cs
- SourceFileBuildProvider.cs
- LinkedList.cs
- Subtree.cs
- ModelServiceImpl.cs