Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Controls / ActiveXHelper.cs / 1 / ActiveXHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // // Description: // Helper functions for ActiveX hosting // // Source copied from axhosthelper.cs // // // History // 04/17/05 [....] Created // //----------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Specialized; using System.Runtime.InteropServices; using System.Security; using MS.Win32; namespace MS.Internal.Controls { // // This class contains static properties/methods that are internal. // It also has types that make sense only for ActiveX hosting classes. // In other words, this is a helper class for the ActiveX hosting classes. // internal class ActiveXHelper { // // Types: // // // Enumeration of the different states of the ActiveX control public enum ActiveXState { Passive = 0, // Not loaded Loaded = 1, // Loaded, but no server [ocx created] Running = 2, // Server running, invisible [depersisted] InPlaceActive = 4, // Server in-place active [visible] UIActive = 8, // Server is UI active [ready to accept input] Open = 16 // Server is opened for editing [not used] } // // Static members: // // // BitVector32 masks for various internal state flags. public static readonly int sinkAttached = BitVector32.CreateMask(); public static readonly int inTransition = BitVector32.CreateMask(sinkAttached); public static readonly int processingKeyUp = BitVector32.CreateMask(inTransition); //[[....]]These are from Winforms code. These transforms were not working correctly //I used Avalon sizes but leaving these in here since they are used in TransformCoordinates //in ActiveXSite. It doesn't seem to be invoked by WebBrowser control // // Gets the LOGPIXELSX of the screen DC. private static int logPixelsX = -1; private static int logPixelsY = -1; private const int HMperInch = 2540; // Prevent compiler from generating public CTOR private ActiveXHelper() { } // // Static helper methods: // public static int Pix2HM(int pix, int logP) { return (HMperInch * pix + (logP >> 1)) / logP; } public static int HM2Pix(int hm, int logP) { return (logP * hm + HMperInch / 2) / HMperInch; } // // We cache LOGPIXELSX for optimization ////// Critical: This code calls critical code. /// TreatAsSafe: This information is safe to expose. /// public static int LogPixelsX { [SecurityCritical, SecurityTreatAsSafe] get { if (logPixelsX == -1) { IntPtr hDC = UnsafeNativeMethods.GetDC(NativeMethods.NullHandleRef); if (hDC != IntPtr.Zero) { logPixelsX = UnsafeNativeMethods.GetDeviceCaps(new HandleRef(null, hDC), NativeMethods.LOGPIXELSX); UnsafeNativeMethods.ReleaseDC(NativeMethods.NullHandleRef, new HandleRef(null, hDC)); } } return logPixelsX; } } public static void ResetLogPixelsX() { logPixelsX = -1; } // // We cache LOGPIXELSY for optimization ////// Critical: This code calls critical code. /// TreatAsSafe: This information is safe to expose. /// public static int LogPixelsY { [SecurityCritical, SecurityTreatAsSafe] get { if (logPixelsY == -1) { IntPtr hDC = UnsafeNativeMethods.GetDC(NativeMethods.NullHandleRef); if (hDC != IntPtr.Zero) { logPixelsY = UnsafeNativeMethods.GetDeviceCaps(new HandleRef(null, hDC), NativeMethods.LOGPIXELSY); UnsafeNativeMethods.ReleaseDC(NativeMethods.NullHandleRef, new HandleRef(null, hDC)); } } return logPixelsY; } } public static void ResetLogPixelsY() { logPixelsY = -1; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AtlasWeb.Designer.cs
- TriState.cs
- RectangleHotSpot.cs
- EnvelopedPkcs7.cs
- ScriptingWebServicesSectionGroup.cs
- HuffmanTree.cs
- RegexStringValidatorAttribute.cs
- InstalledVoice.cs
- DeviceContexts.cs
- WrapPanel.cs
- ReverseComparer.cs
- PaperSource.cs
- CatalogPartCollection.cs
- EastAsianLunisolarCalendar.cs
- Run.cs
- QuotedStringWriteStateInfo.cs
- XmlDomTextWriter.cs
- CustomErrorCollection.cs
- FamilyMapCollection.cs
- TiffBitmapEncoder.cs
- CodeAccessPermission.cs
- DataSourceXmlAttributeAttribute.cs
- BatchServiceHost.cs
- ByteStorage.cs
- SecurityException.cs
- Pair.cs
- RightsManagementInformation.cs
- GeometryModel3D.cs
- XmlSequenceWriter.cs
- TextDecoration.cs
- SqlDataReader.cs
- ValidationSummary.cs
- Label.cs
- Binding.cs
- QilLiteral.cs
- TreeView.cs
- COM2ExtendedTypeConverter.cs
- UnmanagedMemoryStreamWrapper.cs
- NetworkCredential.cs
- SqlDataSourceStatusEventArgs.cs
- LookupNode.cs
- CodeAttributeDeclaration.cs
- BuildProvider.cs
- AuthenticationModulesSection.cs
- DetailsViewRow.cs
- XsdDateTime.cs
- ETagAttribute.cs
- listviewsubitemcollectioneditor.cs
- HttpClientCertificate.cs
- UnsafeNativeMethods.cs
- SpStreamWrapper.cs
- LoginUtil.cs
- JsonDeserializer.cs
- ChangeConflicts.cs
- UrlPath.cs
- SafeNativeMethodsMilCoreApi.cs
- MetadataSerializer.cs
- SafeTokenHandle.cs
- StickyNote.cs
- Compress.cs
- ErrorStyle.cs
- UserPreferenceChangingEventArgs.cs
- DataPager.cs
- ListBindingConverter.cs
- FunctionDetailsReader.cs
- ButtonColumn.cs
- SubqueryRules.cs
- DesignerOptionService.cs
- InvalidEnumArgumentException.cs
- ContainerParagraph.cs
- BufferedWebEventProvider.cs
- SessionStateContainer.cs
- GeometryDrawing.cs
- PeoplePickerWrapper.cs
- ThrowHelper.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- OleDbDataAdapter.cs
- DataTableReaderListener.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- XamlContextStack.cs
- UnaryNode.cs
- TextSelection.cs
- SymmetricAlgorithm.cs
- VerificationException.cs
- AutoGeneratedFieldProperties.cs
- PresentationSource.cs
- DataGridRow.cs
- AmbiguousMatchException.cs
- DelegatingConfigHost.cs
- BrowsableAttribute.cs
- SettingsPropertyNotFoundException.cs
- SymLanguageType.cs
- ObjectConverter.cs
- UseLicense.cs
- BaseConfigurationRecord.cs
- SecondaryIndexList.cs
- EncoderParameter.cs
- ServiceElement.cs
- MaskInputRejectedEventArgs.cs
- StickyNoteHelper.cs