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
- PolicyValidationException.cs
- HttpRuntime.cs
- WorkflowApplicationAbortedEventArgs.cs
- RequestSecurityTokenResponse.cs
- TaskHelper.cs
- ApplicationContext.cs
- PageCatalogPart.cs
- SqlDependency.cs
- ThreadExceptionDialog.cs
- Image.cs
- Visual.cs
- FixUp.cs
- BackgroundWorker.cs
- DynamicPropertyReader.cs
- Processor.cs
- SiteMapDataSourceView.cs
- FrameworkContentElement.cs
- XmlAnyAttributeAttribute.cs
- GenericXmlSecurityToken.cs
- ServiceErrorHandler.cs
- SmtpAuthenticationManager.cs
- TextBoxRenderer.cs
- VSWCFServiceContractGenerator.cs
- X509RawDataKeyIdentifierClause.cs
- SqlUserDefinedAggregateAttribute.cs
- SafePEFileHandle.cs
- FlowSwitchDesigner.xaml.cs
- DeobfuscatingStream.cs
- ValidationEventArgs.cs
- BufferBuilder.cs
- MenuEventArgs.cs
- InterleavedZipPartStream.cs
- ExpressionVisitor.cs
- PagePropertiesChangingEventArgs.cs
- HostProtectionPermission.cs
- SchemaObjectWriter.cs
- StorageScalarPropertyMapping.cs
- DrawingContextWalker.cs
- loginstatus.cs
- ToolStripItemDataObject.cs
- CacheAxisQuery.cs
- KeyValueInternalCollection.cs
- Shared.cs
- PriorityBindingExpression.cs
- StatusBar.cs
- HyperLinkStyle.cs
- PrincipalPermission.cs
- UInt64Converter.cs
- PreviewPrintController.cs
- FontInfo.cs
- COM2TypeInfoProcessor.cs
- DeclaredTypeElementCollection.cs
- cookiecollection.cs
- XPathLexer.cs
- Internal.cs
- SingleStorage.cs
- ScrollBar.cs
- InputManager.cs
- PasswordTextNavigator.cs
- LogSwitch.cs
- DbTransaction.cs
- XmlSchemaAttributeGroupRef.cs
- ExternalDataExchangeService.cs
- AuditLogLocation.cs
- TextPointer.cs
- RequestCacheValidator.cs
- propertytag.cs
- FilterQuery.cs
- IteratorDescriptor.cs
- _NegotiateClient.cs
- MimeMapping.cs
- QilTargetType.cs
- DynamicPropertyHolder.cs
- HideDisabledControlAdapter.cs
- ImageList.cs
- CultureInfo.cs
- Menu.cs
- FlowchartStart.xaml.cs
- CodeGroup.cs
- EntitySqlException.cs
- WebHttpEndpointElement.cs
- ExpressionBuilder.cs
- ViewKeyConstraint.cs
- HashAlgorithm.cs
- HttpWebRequest.cs
- PropertyInformationCollection.cs
- SafeThemeHandle.cs
- WsdlBuildProvider.cs
- InputScopeConverter.cs
- DiscreteKeyFrames.cs
- HttpEncoder.cs
- ValidatedControlConverter.cs
- WebBrowserHelper.cs
- DelegatingHeader.cs
- Part.cs
- IPHostEntry.cs
- StylusPointDescription.cs
- CodeLabeledStatement.cs
- EditorZoneBase.cs
- HostVisual.cs