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
- DataGridViewCellValidatingEventArgs.cs
- CompilerHelpers.cs
- DataViewSettingCollection.cs
- InfoCardConstants.cs
- ILGen.cs
- MgmtConfigurationRecord.cs
- ServiceOperationHelpers.cs
- TextTreeTextElementNode.cs
- DisplayNameAttribute.cs
- TransactionBridge.cs
- TextUtf8RawTextWriter.cs
- XmlSchemaSimpleTypeUnion.cs
- RegexCompilationInfo.cs
- Base64Encoder.cs
- _HeaderInfo.cs
- SoapMessage.cs
- ValidatedMobileControlConverter.cs
- ProviderConnectionPointCollection.cs
- AbstractDataSvcMapFileLoader.cs
- RequestTimeoutManager.cs
- UrlMappingsSection.cs
- UInt64Storage.cs
- MatchNoneMessageFilter.cs
- WebPartMovingEventArgs.cs
- InternalPermissions.cs
- PagerSettings.cs
- TypeDependencyAttribute.cs
- PanelContainerDesigner.cs
- XpsS0ValidatingLoader.cs
- ConnectionDemuxer.cs
- XmlReader.cs
- UniqueIdentifierService.cs
- EllipticalNodeOperations.cs
- ReadOnlyObservableCollection.cs
- SqlCommand.cs
- StylusPlugInCollection.cs
- XhtmlBasicLiteralTextAdapter.cs
- COAUTHINFO.cs
- TrailingSpaceComparer.cs
- PolicyChain.cs
- UserControl.cs
- XmlName.cs
- Debug.cs
- CodeBinaryOperatorExpression.cs
- AnnotationHighlightLayer.cs
- EntityContainerEmitter.cs
- TextServicesManager.cs
- TimerElapsedEvenArgs.cs
- AuthorizationSection.cs
- SchemaAttDef.cs
- DataControlFieldCollection.cs
- WebPartConnectionsCloseVerb.cs
- SafeTokenHandle.cs
- HttpPostedFile.cs
- FakeModelPropertyImpl.cs
- LineUtil.cs
- InstanceLockException.cs
- XmlSerializerObjectSerializer.cs
- SessionPageStatePersister.cs
- CompensationParticipant.cs
- ServiceChannelFactory.cs
- MaskDesignerDialog.cs
- ValueUnavailableException.cs
- InternalsVisibleToAttribute.cs
- DataGridTableCollection.cs
- BufferBuilder.cs
- XmlSchemaChoice.cs
- BeginStoryboard.cs
- SctClaimSerializer.cs
- TimeZone.cs
- SmiEventSink_Default.cs
- AxHost.cs
- CreateUserErrorEventArgs.cs
- IChannel.cs
- GeneralTransform3D.cs
- UIAgentRequest.cs
- MachineKeyConverter.cs
- UpdatePanel.cs
- DataDocumentXPathNavigator.cs
- AssociationSetMetadata.cs
- SystemIcons.cs
- OutputWindow.cs
- StringUtil.cs
- WebPermission.cs
- BitmapDownload.cs
- XmlSchemaAttributeGroup.cs
- TranslateTransform3D.cs
- EventSourceCreationData.cs
- DataGridViewButtonColumn.cs
- StoragePropertyMapping.cs
- EventLogPermissionAttribute.cs
- ECDsaCng.cs
- TdsParser.cs
- WindowsRegion.cs
- AcceleratedTokenAuthenticator.cs
- SpeakInfo.cs
- InkCanvasFeedbackAdorner.cs
- SqlNode.cs
- Expressions.cs
- Frame.cs