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
- HitTestWithGeometryDrawingContextWalker.cs
- DbProviderConfigurationHandler.cs
- CompatibleIComparer.cs
- ModelTreeEnumerator.cs
- OneOfConst.cs
- FormsAuthenticationEventArgs.cs
- StatementContext.cs
- Int32EqualityComparer.cs
- ParserStreamGeometryContext.cs
- OdbcFactory.cs
- TypeLibConverter.cs
- CustomAttributeFormatException.cs
- PartitionResolver.cs
- DataSpaceManager.cs
- CustomAttributeBuilder.cs
- TransformGroup.cs
- RuntimeArgument.cs
- EventRoute.cs
- Char.cs
- BypassElement.cs
- VBCodeProvider.cs
- DiscoveryDocumentSerializer.cs
- ListViewSortEventArgs.cs
- TypeHelper.cs
- SystemIcmpV6Statistics.cs
- EditorZoneBase.cs
- DtcInterfaces.cs
- TransactionFlowOption.cs
- CalendarAutomationPeer.cs
- ObjectPersistData.cs
- AttributeEmitter.cs
- Journal.cs
- TriState.cs
- CultureMapper.cs
- Models.cs
- ButtonBase.cs
- DesignerAttributeInfo.cs
- UserControlAutomationPeer.cs
- ParenthesizePropertyNameAttribute.cs
- ButtonStandardAdapter.cs
- BaseCollection.cs
- XamlStyleSerializer.cs
- ContentElementAutomationPeer.cs
- Triplet.cs
- Bidi.cs
- UInt32Converter.cs
- CatalogZoneAutoFormat.cs
- TraceListener.cs
- ToolStripPanelCell.cs
- EntityDataSourceContextDisposingEventArgs.cs
- PeerNameRecord.cs
- Serializer.cs
- GeneratedView.cs
- Point3DCollection.cs
- SqlUnionizer.cs
- ChangeNode.cs
- RSAOAEPKeyExchangeDeformatter.cs
- Graph.cs
- Opcode.cs
- EntityObject.cs
- TaiwanCalendar.cs
- PageCatalogPart.cs
- SpanIndex.cs
- WindowsHyperlink.cs
- IdentifierService.cs
- BrowserCapabilitiesFactory.cs
- KeyGestureConverter.cs
- OleDbConnection.cs
- PenCursorManager.cs
- ConfigurationManagerInternalFactory.cs
- AnalyzedTree.cs
- PolyBezierSegment.cs
- UpdateProgress.cs
- shaperfactoryquerycachekey.cs
- ISAPIWorkerRequest.cs
- ExtensionFile.cs
- SolidBrush.cs
- Brush.cs
- ParagraphResult.cs
- DataPointer.cs
- ProviderException.cs
- HandledMouseEvent.cs
- SymLanguageType.cs
- SmiEventSink.cs
- List.cs
- MediaTimeline.cs
- HttpCachePolicy.cs
- NameValuePermission.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- EpmSourcePathSegment.cs
- XmlQueryCardinality.cs
- CompModSwitches.cs
- QilValidationVisitor.cs
- GACMembershipCondition.cs
- HttpFileCollection.cs
- prefixendpointaddressmessagefiltertable.cs
- EntityTypeEmitter.cs
- ImageCodecInfo.cs
- FormViewPageEventArgs.cs
- EditorZone.cs