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
- HelpFileFileNameEditor.cs
- FixedSOMPage.cs
- ToolStripStatusLabel.cs
- Size3D.cs
- QilInvokeLateBound.cs
- RuntimeEnvironment.cs
- MembershipPasswordException.cs
- DataRecordInternal.cs
- PeerCollaborationPermission.cs
- FakeModelItemImpl.cs
- Interlocked.cs
- SmiGettersStream.cs
- ActionItem.cs
- StatusBarPanel.cs
- DataKey.cs
- MemberInitExpression.cs
- CurrencyWrapper.cs
- SapiRecoInterop.cs
- HashSetEqualityComparer.cs
- GenericIdentity.cs
- DataGridViewCellValueEventArgs.cs
- ImageAnimator.cs
- DataGridRowHeader.cs
- MouseActionConverter.cs
- XsdDuration.cs
- BitmapImage.cs
- RuntimeIdentifierPropertyAttribute.cs
- ClockGroup.cs
- SystemUdpStatistics.cs
- Internal.cs
- DataSourceControlBuilder.cs
- TextRangeAdaptor.cs
- CriticalExceptions.cs
- ComPlusThreadInitializer.cs
- DesignerDataView.cs
- X509ClientCertificateAuthenticationElement.cs
- DesignerVerbCollection.cs
- EventProvider.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- XmlSchemas.cs
- D3DImage.cs
- TrackingMemoryStreamFactory.cs
- dbenumerator.cs
- PersistenceTypeAttribute.cs
- BmpBitmapDecoder.cs
- ColumnMapTranslator.cs
- ServiceDescriptionReflector.cs
- StructuralType.cs
- SystemSounds.cs
- RootBrowserWindowAutomationPeer.cs
- ControlValuePropertyAttribute.cs
- SystemTcpConnection.cs
- OracleDateTime.cs
- SqlNamer.cs
- EdmMember.cs
- CannotUnloadAppDomainException.cs
- TextTreeUndoUnit.cs
- BitmapCodecInfo.cs
- SoapReflectionImporter.cs
- XmlDataDocument.cs
- BaseAppDomainProtocolHandler.cs
- XsdValidatingReader.cs
- DataSourceCache.cs
- ProjectedSlot.cs
- WebHttpEndpoint.cs
- FileClassifier.cs
- EntityDataSourceDataSelectionPanel.cs
- WebHttpElement.cs
- InkPresenter.cs
- RichTextBox.cs
- MultipleViewPattern.cs
- Window.cs
- RegexWriter.cs
- ListSortDescription.cs
- SqlTypeConverter.cs
- TypeReference.cs
- TextDecorations.cs
- TypeToArgumentTypeConverter.cs
- InvalidFilterCriteriaException.cs
- DetailsView.cs
- ExternalException.cs
- SQLInt16Storage.cs
- SchemaComplexType.cs
- Int32CAMarshaler.cs
- XmlQualifiedName.cs
- AlphaSortedEnumConverter.cs
- RequiredArgumentAttribute.cs
- LinqToSqlWrapper.cs
- ISAPIApplicationHost.cs
- HashMembershipCondition.cs
- CommandBindingCollection.cs
- CardSpaceShim.cs
- ParenExpr.cs
- ConsoleTraceListener.cs
- InternalBase.cs
- TreeBuilderBamlTranslator.cs
- TextServicesCompartment.cs
- XmlWrappingReader.cs
- EventHandlerList.cs
- ChannelParameterCollection.cs