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
- RootNamespaceAttribute.cs
- Shape.cs
- StringFreezingAttribute.cs
- Bold.cs
- PartialArray.cs
- ParagraphResult.cs
- XamlVector3DCollectionSerializer.cs
- DuplexChannelBinder.cs
- MouseButton.cs
- XmlReturnReader.cs
- FolderNameEditor.cs
- HtmlInputHidden.cs
- ClosableStream.cs
- _ListenerResponseStream.cs
- FormClosedEvent.cs
- OracleSqlParser.cs
- UnsafeNativeMethodsMilCoreApi.cs
- KeyInfo.cs
- RTLAwareMessageBox.cs
- DataTableNameHandler.cs
- ServiceModelExtensionElement.cs
- TabControlAutomationPeer.cs
- tibetanshape.cs
- TypeElementCollection.cs
- RefreshResponseInfo.cs
- DataContractJsonSerializer.cs
- CachedTypeface.cs
- DataGridViewCellValidatingEventArgs.cs
- CharUnicodeInfo.cs
- SmtpNtlmAuthenticationModule.cs
- ObjectTypeMapping.cs
- LockedBorderGlyph.cs
- xmlfixedPageInfo.cs
- SymmetricSecurityProtocol.cs
- ToolStripLabel.cs
- TextCollapsingProperties.cs
- ClientBuildManagerCallback.cs
- CatalogZone.cs
- ReferentialConstraint.cs
- BamlRecordHelper.cs
- ParserOptions.cs
- XmlCDATASection.cs
- TypedTableBaseExtensions.cs
- MultilineStringConverter.cs
- CharKeyFrameCollection.cs
- PassportAuthenticationModule.cs
- PopupRoot.cs
- FrameworkPropertyMetadata.cs
- RemoteHelper.cs
- X509WindowsSecurityToken.cs
- FormatConvertedBitmap.cs
- DbConnectionPoolGroup.cs
- TextRangeProviderWrapper.cs
- WebConfigurationHostFileChange.cs
- StringSource.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DataGridViewRowsRemovedEventArgs.cs
- DispatcherTimer.cs
- ServiceProviders.cs
- PeerNearMe.cs
- ListViewDataItem.cs
- Table.cs
- DataRowChangeEvent.cs
- AnnotationAuthorChangedEventArgs.cs
- MessageContractMemberAttribute.cs
- DataGridItemAttachedStorage.cs
- LambdaCompiler.Generated.cs
- Double.cs
- DataSourceUtil.cs
- DropDownButton.cs
- EntityCollection.cs
- PageEventArgs.cs
- StreamHelper.cs
- CancellationHandler.cs
- DropShadowEffect.cs
- MobileControlBuilder.cs
- IconBitmapDecoder.cs
- RestHandler.cs
- HGlobalSafeHandle.cs
- ListenerElementsCollection.cs
- TextSelectionHighlightLayer.cs
- StringValueSerializer.cs
- ReferenceSchema.cs
- RegistryDataKey.cs
- XmlSchemaComplexContentRestriction.cs
- CurrencyWrapper.cs
- TimerElapsedEvenArgs.cs
- MenuItemBinding.cs
- ConfigXmlWhitespace.cs
- xml.cs
- SHA1.cs
- XmlComplianceUtil.cs
- CqlErrorHelper.cs
- WorkflowServiceHostFactory.cs
- FunctionDetailsReader.cs
- TextWriterEngine.cs
- DeferredReference.cs
- BufferedGraphics.cs
- ConditionValidator.cs
- EpmHelper.cs