Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / View / WindowExtensionMethods.cs / 1305376 / WindowExtensionMethods.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.View { using System.Runtime.InteropServices; using System.Windows; using System.Windows.Interop; static class WindowExtensionMethods { public static void ShowContextHelpButton(this Window window) { IntPtr hwnd = new WindowInteropHelper(window).Handle; IntPtr exStyle = Win32Interop.GetWindowLongPtr(hwnd, Win32Interop.GWL_EXSTYLE); if (IntPtr.Size == 4) { exStyle = new IntPtr(exStyle.ToInt32() | Win32Interop.WS_EX_CONTEXTHELP); } else { exStyle = new IntPtr(exStyle.ToInt64() | ((long)Win32Interop.WS_EX_CONTEXTHELP)); } Win32Interop.SetWindowLongPtr(new HandleRef(window, hwnd), Win32Interop.GWL_EXSTYLE, exStyle); } public static void HideMinMaxButton(this Window window) { IntPtr hwnd = new WindowInteropHelper(window).Handle; IntPtr style = Win32Interop.GetWindowLongPtr(hwnd, Win32Interop.GWL_STYLE); if (IntPtr.Size == 4) { int intValue = style.ToInt32(); intValue = SetBit(Win32Interop.WS_MAXIMIZEBOX, intValue, false); intValue = SetBit(Win32Interop.WS_MINIMIZEBOX, intValue, false); style = new IntPtr(intValue); } else { long longValue = style.ToInt64(); longValue = SetBit((long)Win32Interop.WS_MAXIMIZEBOX, longValue, false); longValue = SetBit((long)Win32Interop.WS_MINIMIZEBOX, longValue, false); style = new IntPtr(longValue); } Win32Interop.SetWindowLongPtr(new HandleRef(window, hwnd), Win32Interop.GWL_STYLE, style); } public static void AddWindowsHook(this Window window, HwndSourceHook wmHandler) { IntPtr hwnd = new WindowInteropHelper(window).Handle; HwndSource source = HwndSource.FromHwnd(hwnd); source.AddHook(wmHandler); } public static void RemoveWindowsHook(this Window window, HwndSourceHook wmHandler) { IntPtr hwnd = new WindowInteropHelper(window).Handle; HwndSource source = HwndSource.FromHwnd(hwnd); source.RemoveHook(wmHandler); } public static void HideIcon(this Window window) { IntPtr hwnd = new WindowInteropHelper(window).Handle; IntPtr exStyle = Win32Interop.GetWindowLongPtr(hwnd, Win32Interop.GWL_EXSTYLE); if (IntPtr.Size == 4) { exStyle = new IntPtr(exStyle.ToInt32() | Win32Interop.WS_EX_DLGMODALFRAME); } else { exStyle = new IntPtr(exStyle.ToInt64() | ((long)Win32Interop.WS_EX_DLGMODALFRAME)); } Win32Interop.SetWindowLongPtr(new HandleRef(window, hwnd), Win32Interop.GWL_EXSTYLE, exStyle); Win32Interop.SendMessage(hwnd, Win32Interop.WM_SETICON, new IntPtr(Win32Interop.ICON_SMALL), IntPtr.Zero); Win32Interop.SendMessage(hwnd, Win32Interop.WM_SETICON, new IntPtr(Win32Interop.ICON_BIG), IntPtr.Zero); } private static long SetBit(long mask, long value, bool flag) { if (flag) { return value | mask; } else { return value & ~mask; } } private static int SetBit(int mask, int value, bool flag) { if (flag) { return value | mask; } else { return value & ~mask; } } } } // 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
- CatalogPartChrome.cs
- Constraint.cs
- TraceSection.cs
- ToolStripLabel.cs
- JoinElimination.cs
- XmlSchemaProviderAttribute.cs
- JournalNavigationScope.cs
- ManifestResourceInfo.cs
- DrawingVisual.cs
- TemplateXamlParser.cs
- ForeignKeyConstraint.cs
- InputScopeNameConverter.cs
- ProviderConnectionPointCollection.cs
- ConstructorArgumentAttribute.cs
- BitmapImage.cs
- ReflectionPermission.cs
- StylusLogic.cs
- DiscardableAttribute.cs
- StringPropertyBuilder.cs
- UriExt.cs
- AutomationElementIdentifiers.cs
- ExtensionFile.cs
- HttpCookie.cs
- NativeMethods.cs
- TypeSystem.cs
- Metadata.cs
- MetadataUtil.cs
- ReferenceConverter.cs
- WindowsListViewScroll.cs
- SpecialTypeDataContract.cs
- EmptyStringExpandableObjectConverter.cs
- SrgsDocumentParser.cs
- MetadataCache.cs
- NativeActivityFaultContext.cs
- SafeFileMapViewHandle.cs
- ProtectedConfiguration.cs
- JsonReader.cs
- FormattedText.cs
- ExecutionPropertyManager.cs
- ServiceHostingEnvironment.cs
- SmiEventSink_Default.cs
- MenuItemStyle.cs
- GridErrorDlg.cs
- ConnectionManagementSection.cs
- CodeCommentStatementCollection.cs
- PartialTrustHelpers.cs
- DBConnection.cs
- SettingsContext.cs
- OverlappedAsyncResult.cs
- SchemaMapping.cs
- WorkflowLayouts.cs
- GeometryModel3D.cs
- BrowserCapabilitiesFactory.cs
- TextAdaptor.cs
- ProxyFragment.cs
- PeerEndPoint.cs
- RequestBringIntoViewEventArgs.cs
- ColorComboBox.cs
- Visitor.cs
- SchemaElementDecl.cs
- AssemblyAttributes.cs
- QueryOperatorEnumerator.cs
- SessionStateItemCollection.cs
- SqlCacheDependencySection.cs
- WebPartPersonalization.cs
- HttpDictionary.cs
- AssertFilter.cs
- _RequestCacheProtocol.cs
- ThreadPool.cs
- TypeResolvingOptions.cs
- Double.cs
- UriScheme.cs
- PermissionSet.cs
- DataContractSerializer.cs
- ParseChildrenAsPropertiesAttribute.cs
- BinaryObjectInfo.cs
- ThousandthOfEmRealPoints.cs
- Fx.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- Opcode.cs
- SoapObjectWriter.cs
- Control.cs
- RayMeshGeometry3DHitTestResult.cs
- ObjectListItemCollection.cs
- AdRotator.cs
- CurrentTimeZone.cs
- BufferedGraphicsContext.cs
- EventLogEntryCollection.cs
- MenuItemStyle.cs
- DesignerAttribute.cs
- Converter.cs
- ByteAnimation.cs
- sitestring.cs
- XmlSchemaGroup.cs
- DataObjectEventArgs.cs
- KeyPullup.cs
- CallbackException.cs
- ContentType.cs
- BaseContextMenu.cs
- DataGridCommandEventArgs.cs