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
- SchemaEntity.cs
- WebSysDefaultValueAttribute.cs
- EntityContainerAssociationSet.cs
- Literal.cs
- CubicEase.cs
- objectquery_tresulttype.cs
- InternalResources.cs
- ElasticEase.cs
- InputScope.cs
- SafeBitVector32.cs
- RegisteredArrayDeclaration.cs
- SystemInformation.cs
- Pts.cs
- PeerNameRecord.cs
- MaskedTextBox.cs
- WebEventCodes.cs
- AutomationElementCollection.cs
- CheckBoxPopupAdapter.cs
- RegisteredDisposeScript.cs
- AutomationPatternInfo.cs
- ScrollChrome.cs
- CodeRemoveEventStatement.cs
- TextEditorContextMenu.cs
- GridItem.cs
- FixedTextSelectionProcessor.cs
- Run.cs
- SortedList.cs
- SapiRecoInterop.cs
- XslTransform.cs
- HtmlTextArea.cs
- LinqDataSource.cs
- Matrix3DValueSerializer.cs
- BaseTreeIterator.cs
- MenuCommands.cs
- ParseNumbers.cs
- XmlSchemaImport.cs
- ProcessManager.cs
- LinkGrep.cs
- DataGridViewCellValueEventArgs.cs
- Cloud.cs
- RichTextBox.cs
- CodeGenerator.cs
- ControlCachePolicy.cs
- SynchronizingStream.cs
- TypeBrowser.xaml.cs
- XmlSerializerNamespaces.cs
- TreeNodeMouseHoverEvent.cs
- Page.cs
- ListViewCancelEventArgs.cs
- AssemblyResourceLoader.cs
- HttpValueCollection.cs
- InputScopeConverter.cs
- AnnotationService.cs
- FormatConvertedBitmap.cs
- OleDbInfoMessageEvent.cs
- ServiceModelDictionary.cs
- CalendarDay.cs
- ShaderEffect.cs
- UserControl.cs
- CryptoApi.cs
- OutputCacheProfile.cs
- NumericUpDown.cs
- DocumentXmlWriter.cs
- IgnoreDeviceFilterElementCollection.cs
- DirectoryObjectSecurity.cs
- DataComponentMethodGenerator.cs
- ReflectionUtil.cs
- StyleBamlTreeBuilder.cs
- ListViewAutomationPeer.cs
- EntityDataSourceMemberPath.cs
- OperationInvokerTrace.cs
- ProcessInputEventArgs.cs
- controlskin.cs
- FilteredDataSetHelper.cs
- Transform.cs
- MatrixStack.cs
- RepeatButtonAutomationPeer.cs
- RC2.cs
- HelloOperation11AsyncResult.cs
- Listen.cs
- MULTI_QI.cs
- NotSupportedException.cs
- TransactionException.cs
- SecurityTokenReferenceStyle.cs
- SecurityUniqueId.cs
- MasterPage.cs
- BoundColumn.cs
- Model3D.cs
- DesignTimeData.cs
- ProfileProvider.cs
- MapPathBasedVirtualPathProvider.cs
- Delegate.cs
- EncryptedType.cs
- Math.cs
- PenThread.cs
- SoapHeaderAttribute.cs
- OleDbSchemaGuid.cs
- ThrowOnMultipleAssignment.cs
- FileUpload.cs
- XmlTextWriter.cs