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
- ChangePassword.cs
- StrokeCollection.cs
- Lease.cs
- DefaultProfileManager.cs
- StateDesigner.LayoutSelectionGlyph.cs
- WebConfigurationHostFileChange.cs
- Matrix.cs
- InProcStateClientManager.cs
- RectIndependentAnimationStorage.cs
- DBSqlParserColumn.cs
- VectorCollectionConverter.cs
- TreeViewBindingsEditorForm.cs
- FileBasedResourceGroveler.cs
- ExpressionBindingsDialog.cs
- RegionInfo.cs
- WindowHideOrCloseTracker.cs
- XamlRtfConverter.cs
- MonitoringDescriptionAttribute.cs
- ChooseAction.cs
- ObjectQuery.cs
- ModelItemExtensions.cs
- ImageAttributes.cs
- RemotingAttributes.cs
- ErrorFormatterPage.cs
- OptimalBreakSession.cs
- DragEvent.cs
- AssertFilter.cs
- ThreadStartException.cs
- HtmlLink.cs
- OLEDB_Enum.cs
- _DigestClient.cs
- XmlILTrace.cs
- CodeSnippetExpression.cs
- HttpApplication.cs
- AttributeUsageAttribute.cs
- ReadOnlyCollectionBase.cs
- LambdaCompiler.cs
- FileUpload.cs
- assemblycache.cs
- SingletonInstanceContextProvider.cs
- DesignConnection.cs
- DoubleAnimationUsingPath.cs
- ServiceModelConfiguration.cs
- HttpPostedFile.cs
- View.cs
- ValidatingPropertiesEventArgs.cs
- SchemaTypeEmitter.cs
- BuiltInExpr.cs
- MessageEnumerator.cs
- XPathScanner.cs
- Type.cs
- SHA256CryptoServiceProvider.cs
- DynamicControlParameter.cs
- MemberProjectionIndex.cs
- TcpClientCredentialType.cs
- CaseInsensitiveHashCodeProvider.cs
- NumericExpr.cs
- QueryStringParameter.cs
- ToolStripPanel.cs
- SettingsPropertyValue.cs
- SystemNetHelpers.cs
- SynthesizerStateChangedEventArgs.cs
- PeerResolverBindingElement.cs
- Privilege.cs
- Point3D.cs
- ConnectionsZone.cs
- ComIntegrationManifestGenerator.cs
- SystemFonts.cs
- Matrix3D.cs
- WindowsStatusBar.cs
- ButtonBaseAdapter.cs
- AutomationProperty.cs
- ToolStripHighContrastRenderer.cs
- SQLString.cs
- CommandDevice.cs
- ISessionStateStore.cs
- CopyOfAction.cs
- PrintPreviewGraphics.cs
- XmlSchemaNotation.cs
- DependencyObject.cs
- WindowsGraphicsCacheManager.cs
- HyperLinkDataBindingHandler.cs
- ZipIOExtraField.cs
- ExitEventArgs.cs
- Expression.cs
- SafeEventLogWriteHandle.cs
- ConnectionStringsExpressionEditor.cs
- MdiWindowListStrip.cs
- SqlInternalConnection.cs
- UnknownWrapper.cs
- FormViewModeEventArgs.cs
- FixUpCollection.cs
- ServiceModelExtensionElement.cs
- XPathNavigator.cs
- UnsafeNativeMethods.cs
- GeometryValueSerializer.cs
- SqlDataSourceStatusEventArgs.cs
- SqlBulkCopy.cs
- TypedTableGenerator.cs
- TryCatchDesigner.xaml.cs