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
- PermissionAttributes.cs
- RowUpdatedEventArgs.cs
- Quaternion.cs
- DataGridTextBoxColumn.cs
- PropertyChangedEventArgs.cs
- DataListCommandEventArgs.cs
- RowParagraph.cs
- GenericTransactionFlowAttribute.cs
- MaterialGroup.cs
- ThicknessAnimationUsingKeyFrames.cs
- ConfigXmlText.cs
- ModifyActivitiesPropertyDescriptor.cs
- _Connection.cs
- InstanceDataCollectionCollection.cs
- StringWriter.cs
- CommandPlan.cs
- ConvertersCollection.cs
- BamlLocalizer.cs
- JoinGraph.cs
- WindowsToolbar.cs
- CodeTypeDeclaration.cs
- mda.cs
- DecimalConverter.cs
- EditorPartCollection.cs
- WindowsRegion.cs
- PageRouteHandler.cs
- AddInAdapter.cs
- WebPartEventArgs.cs
- ZeroOpNode.cs
- TableAdapterManagerNameHandler.cs
- RMPublishingDialog.cs
- PathStreamGeometryContext.cs
- ExpressionBinding.cs
- AnchoredBlock.cs
- TableRowCollection.cs
- ChtmlCommandAdapter.cs
- FontInfo.cs
- RadioButtonPopupAdapter.cs
- SqlStream.cs
- VisualTarget.cs
- _FixedSizeReader.cs
- ApplicationBuildProvider.cs
- ErrorFormatterPage.cs
- KnownBoxes.cs
- TextCompositionEventArgs.cs
- DbConnectionHelper.cs
- LinkedList.cs
- DataGridViewCellConverter.cs
- SiteMap.cs
- Message.cs
- BridgeDataRecord.cs
- DefaultClaimSet.cs
- entitydatasourceentitysetnameconverter.cs
- RadioButton.cs
- ImportCatalogPart.cs
- FailedToStartupUIException.cs
- DecoderFallbackWithFailureFlag.cs
- PerfService.cs
- Crypto.cs
- InputLangChangeRequestEvent.cs
- Util.cs
- ProvidersHelper.cs
- XmlSchemaChoice.cs
- FontDialog.cs
- ipaddressinformationcollection.cs
- MemberExpression.cs
- WizardForm.cs
- PersonalizationProviderHelper.cs
- MenuStrip.cs
- WebConfigurationManager.cs
- RenameRuleObjectDialog.Designer.cs
- CheckedPointers.cs
- TextEvent.cs
- CLSCompliantAttribute.cs
- AsyncDataRequest.cs
- validationstate.cs
- __Filters.cs
- TypeForwardedToAttribute.cs
- IncrementalReadDecoders.cs
- ObjectDataSourceFilteringEventArgs.cs
- InvokeProviderWrapper.cs
- DynamicDocumentPaginator.cs
- PreProcessor.cs
- XmlLanguage.cs
- XmlArrayAttribute.cs
- XmlAtomErrorReader.cs
- CompilerLocalReference.cs
- ReplyAdapterChannelListener.cs
- InProcStateClientManager.cs
- Html32TextWriter.cs
- TransformGroup.cs
- PtsHelper.cs
- SqlAggregateChecker.cs
- PasswordRecoveryDesigner.cs
- SystemMulticastIPAddressInformation.cs
- DataShape.cs
- SamlAttribute.cs
- LinqToSqlWrapper.cs
- RegistrationServices.cs
- UserValidatedEventArgs.cs