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
- KeyInfo.cs
- ObjectDesignerDataSourceView.cs
- WebPartZoneBase.cs
- Vector.cs
- SqlConnectionStringBuilder.cs
- BamlLocalizabilityResolver.cs
- Pen.cs
- Set.cs
- DynamicArgumentDialog.cs
- HebrewNumber.cs
- WebPartDisplayModeEventArgs.cs
- EntitySqlQueryState.cs
- PageParserFilter.cs
- Util.cs
- Pair.cs
- RuleInfoComparer.cs
- BitmapEncoder.cs
- DecoderFallbackWithFailureFlag.cs
- DatePicker.cs
- SelectionItemPattern.cs
- Condition.cs
- TheQuery.cs
- ArraySubsetEnumerator.cs
- DataGridTableCollection.cs
- Properties.cs
- ITextView.cs
- SQLBinaryStorage.cs
- XDeferredAxisSource.cs
- EventMappingSettingsCollection.cs
- MouseEventArgs.cs
- TraceProvider.cs
- TemplateBamlRecordReader.cs
- HelpEvent.cs
- querybuilder.cs
- safex509handles.cs
- CursorConverter.cs
- NumericUpDownAccelerationCollection.cs
- RelationshipNavigation.cs
- DateTimeFormatInfo.cs
- XmlSchemaResource.cs
- MediaElementAutomationPeer.cs
- ZipIORawDataFileBlock.cs
- ping.cs
- ContextMenu.cs
- WebPartConnectionsEventArgs.cs
- ParserContext.cs
- XhtmlBasicLinkAdapter.cs
- ThreadExceptionEvent.cs
- UriScheme.cs
- TraceContext.cs
- InterleavedZipPartStream.cs
- AuthenticationServiceManager.cs
- IntegerValidatorAttribute.cs
- RadioButtonPopupAdapter.cs
- MeasureItemEvent.cs
- WebPartConnectionsCancelVerb.cs
- ContentPosition.cs
- DesignerView.Commands.cs
- XmlTypeMapping.cs
- FromReply.cs
- DataObject.cs
- TypeDescriptionProviderAttribute.cs
- ResourceSetExpression.cs
- ConditionalBranch.cs
- CodeTypeReferenceCollection.cs
- FormsAuthenticationCredentials.cs
- HtmlElementCollection.cs
- PartBasedPackageProperties.cs
- CodeDirectionExpression.cs
- EndPoint.cs
- SQLInt16.cs
- ColorConvertedBitmap.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- Translator.cs
- Matrix.cs
- MessageSecurityVersion.cs
- XmlSchemaChoice.cs
- ParallelTimeline.cs
- ControlTemplate.cs
- MimeFormImporter.cs
- OleDbConnection.cs
- UnknownBitmapDecoder.cs
- MessageQueueTransaction.cs
- BaseWebProxyFinder.cs
- UInt32Storage.cs
- SafeReversePInvokeHandle.cs
- Utils.cs
- DrawingServices.cs
- AutomationElementIdentifiers.cs
- UInt64.cs
- WebScriptMetadataFormatter.cs
- Nullable.cs
- StorageEntitySetMapping.cs
- JapaneseLunisolarCalendar.cs
- BindingContext.cs
- ServiceOperationParameter.cs
- PersonalizationAdministration.cs
- TableParagraph.cs
- PartManifestEntry.cs
- SchemaImporterExtensionElement.cs