Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- ContractNamespaceAttribute.cs
- MatrixTransform.cs
- DependencyPropertyKey.cs
- ComPlusTypeLoader.cs
- PenLineJoinValidation.cs
- RuntimeComponentFilter.cs
- Rect3D.cs
- UnknownWrapper.cs
- SecurityCookieModeValidator.cs
- WebControlAdapter.cs
- MenuCommands.cs
- TreeNodeEventArgs.cs
- TreeNodeClickEventArgs.cs
- CustomValidator.cs
- XmlReaderSettings.cs
- RepeatButton.cs
- Point3DCollection.cs
- _NetworkingPerfCounters.cs
- InkCollectionBehavior.cs
- _ContextAwareResult.cs
- ConfigurationElement.cs
- ObjectReaderCompiler.cs
- ReadOnlyNameValueCollection.cs
- FloatUtil.cs
- LexicalChunk.cs
- FieldTemplateFactory.cs
- ReflectionUtil.cs
- Polygon.cs
- IndexedString.cs
- HighlightComponent.cs
- WebPartMovingEventArgs.cs
- SchemaMapping.cs
- Matrix.cs
- UIPermission.cs
- FontDriver.cs
- XmlDataImplementation.cs
- GCHandleCookieTable.cs
- SpellerStatusTable.cs
- HttpContextWrapper.cs
- ScriptingSectionGroup.cs
- login.cs
- SecurityHeaderElementInferenceEngine.cs
- RegexWorker.cs
- EllipticalNodeOperations.cs
- DbConnectionPoolGroup.cs
- XmlQueryContext.cs
- XmlCustomFormatter.cs
- ArrayList.cs
- CategoryGridEntry.cs
- NotSupportedException.cs
- ExceptionWrapper.cs
- ExternalFile.cs
- ControlDesignerState.cs
- ThreadExceptionEvent.cs
- ComponentEditorPage.cs
- DataGridPageChangedEventArgs.cs
- Path.cs
- MappingSource.cs
- LassoHelper.cs
- BoolExpressionVisitors.cs
- DBBindings.cs
- TriggerBase.cs
- XmlSchemaParticle.cs
- ManipulationPivot.cs
- BinaryParser.cs
- CheckedPointers.cs
- SerializationObjectManager.cs
- X509SubjectKeyIdentifierClause.cs
- ReflectionPermission.cs
- HwndAppCommandInputProvider.cs
- RelationshipNavigation.cs
- SqlLiftWhereClauses.cs
- HtmlAnchor.cs
- DataGridViewSelectedRowCollection.cs
- DataGridTable.cs
- TextSchema.cs
- HttpException.cs
- ParenExpr.cs
- EntryWrittenEventArgs.cs
- CellParagraph.cs
- DecryptRequest.cs
- SslStream.cs
- ViewBase.cs
- PreviousTrackingServiceAttribute.cs
- AppLevelCompilationSectionCache.cs
- StyleSheetRefUrlEditor.cs
- LocalizabilityAttribute.cs
- GCHandleCookieTable.cs
- Command.cs
- BulletDecorator.cs
- VBIdentifierTrimConverter.cs
- Property.cs
- SectionInput.cs
- Int32Storage.cs
- SubstitutionList.cs
- Compiler.cs
- Int16AnimationBase.cs
- StringInfo.cs
- IgnorePropertiesAttribute.cs
- ConfigXmlDocument.cs