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
- ObjectSecurityT.cs
- AnnotationResourceChangedEventArgs.cs
- validation.cs
- RayMeshGeometry3DHitTestResult.cs
- InvokeHandlers.cs
- UrlPropertyAttribute.cs
- XmlChoiceIdentifierAttribute.cs
- XmlCharCheckingReader.cs
- SafeEventLogReadHandle.cs
- SmiMetaData.cs
- RewritingSimplifier.cs
- TextTreeTextNode.cs
- GeneralTransform3D.cs
- DriveNotFoundException.cs
- XamlReader.cs
- ViewStateException.cs
- XmlNodeComparer.cs
- ListBindingHelper.cs
- util.cs
- Control.cs
- DataServiceResponse.cs
- ElementMarkupObject.cs
- UriParserTemplates.cs
- ValueChangedEventManager.cs
- X509SecurityToken.cs
- RunClient.cs
- DesignOnlyAttribute.cs
- HtmlInputFile.cs
- SourceInterpreter.cs
- RequestQueryParser.cs
- TableCellCollection.cs
- PageClientProxyGenerator.cs
- Button.cs
- PlanCompiler.cs
- PkcsUtils.cs
- Context.cs
- TimelineGroup.cs
- ExceptionHelpers.cs
- ModulesEntry.cs
- DeviceContexts.cs
- DefaultSettingsSection.cs
- ShutDownListener.cs
- IdentityHolder.cs
- Baml6ConstructorInfo.cs
- HttpProtocolReflector.cs
- SqlFunctionAttribute.cs
- DoubleAnimationBase.cs
- SchemaElementLookUpTable.cs
- StatusBarPanel.cs
- TextBox.cs
- DesignerSerializerAttribute.cs
- KeyTime.cs
- SystemBrushes.cs
- SendKeys.cs
- FixedElement.cs
- XPathSingletonIterator.cs
- CompilerParameters.cs
- SqlXmlStorage.cs
- ProtectedProviderSettings.cs
- SingletonConnectionReader.cs
- TagPrefixAttribute.cs
- CssTextWriter.cs
- NameValueCollection.cs
- ComponentGlyph.cs
- ToggleButtonAutomationPeer.cs
- DataObjectAttribute.cs
- ScrollPatternIdentifiers.cs
- MachineKeyConverter.cs
- SoapSchemaImporter.cs
- ToolStripItemClickedEventArgs.cs
- XPathNodePointer.cs
- BookmarkList.cs
- NullableDecimalAverageAggregationOperator.cs
- BufferedGraphics.cs
- DataGridTextBoxColumn.cs
- XmlFormatExtensionAttribute.cs
- BitmapEffectDrawingContextWalker.cs
- AdapterDictionary.cs
- LayoutDump.cs
- FixUpCollection.cs
- MsmqHostedTransportManager.cs
- COM2ExtendedUITypeEditor.cs
- CapabilitiesPattern.cs
- AmbientProperties.cs
- ResourceSetExpression.cs
- ProfessionalColors.cs
- ITextView.cs
- WindowsMenu.cs
- QilLoop.cs
- SystemMulticastIPAddressInformation.cs
- DataControlHelper.cs
- RoutedEventConverter.cs
- EmitterCache.cs
- BinaryObjectInfo.cs
- RawTextInputReport.cs
- WindowsFormsSectionHandler.cs
- RbTree.cs
- baseaxisquery.cs
- xmlNames.cs
- FontWeights.cs