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
- XmlMapping.cs
- HostingEnvironmentException.cs
- SelectionProviderWrapper.cs
- GridViewColumnCollectionChangedEventArgs.cs
- PersonalizationEntry.cs
- CategoryAttribute.cs
- Attributes.cs
- IdentityModelStringsVersion1.cs
- EndpointDesigner.cs
- XmlSchemaSubstitutionGroup.cs
- SchemaCollectionPreprocessor.cs
- ToolBarButton.cs
- DataBoundControlHelper.cs
- TextTreeText.cs
- InputScope.cs
- XmlSignatureManifest.cs
- Animatable.cs
- SqlProviderServices.cs
- XmlRootAttribute.cs
- CodeGenHelper.cs
- Literal.cs
- EventProviderBase.cs
- TextDecorationCollectionConverter.cs
- Transform3DCollection.cs
- X509ChainPolicy.cs
- HexParser.cs
- Durable.cs
- Pkcs7Recipient.cs
- LabelInfo.cs
- XsdBuilder.cs
- HandoffBehavior.cs
- EditorZone.cs
- GlobalizationSection.cs
- OracleInfoMessageEventArgs.cs
- LinkLabel.cs
- DbParameterCollectionHelper.cs
- ExpressionVisitorHelpers.cs
- GridPattern.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- SignatureDescription.cs
- HtmlTextArea.cs
- _CommandStream.cs
- cache.cs
- FileDialog_Vista.cs
- TreeNode.cs
- CodeArrayCreateExpression.cs
- D3DImage.cs
- Stroke.cs
- FusionWrap.cs
- BitmapData.cs
- SqlInternalConnectionTds.cs
- SystemNetworkInterface.cs
- ToolBarDesigner.cs
- PlainXmlWriter.cs
- BuilderInfo.cs
- ToolboxComponentsCreatingEventArgs.cs
- HttpInputStream.cs
- BooleanConverter.cs
- RecordConverter.cs
- Timer.cs
- OutKeywords.cs
- ItemList.cs
- DesignerActionPropertyItem.cs
- SHA1Cng.cs
- TranslateTransform.cs
- DataBoundControlHelper.cs
- DataBinder.cs
- baseaxisquery.cs
- TextFormatterHost.cs
- NumberSubstitution.cs
- HtmlButton.cs
- OciEnlistContext.cs
- Window.cs
- ProcessModelSection.cs
- ViewSimplifier.cs
- DynamicContractTypeBuilder.cs
- Point3D.cs
- StringExpressionSet.cs
- DesignerOptionService.cs
- ChannelProtectionRequirements.cs
- NavigateEvent.cs
- HtmlInputButton.cs
- MsmqTransportReceiveParameters.cs
- StreamReader.cs
- FileDialogCustomPlace.cs
- ContravarianceAdapter.cs
- OrderToken.cs
- WorkflowViewStateService.cs
- AsymmetricKeyExchangeDeformatter.cs
- TreeIterators.cs
- KoreanLunisolarCalendar.cs
- Debug.cs
- BaseCollection.cs
- ApplyImportsAction.cs
- BitmapEffectDrawing.cs
- DoWorkEventArgs.cs
- CriticalExceptions.cs
- MutexSecurity.cs
- SudsCommon.cs
- WindowsProgressbar.cs