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
- MailMessage.cs
- COM2Properties.cs
- SiteOfOriginPart.cs
- ToolStripGripRenderEventArgs.cs
- EvidenceTypeDescriptor.cs
- BamlTreeMap.cs
- ReferencedAssembly.cs
- LineServicesRun.cs
- TypeDescriptionProvider.cs
- WmlTextViewAdapter.cs
- TextReader.cs
- SystemIPInterfaceProperties.cs
- TextSegment.cs
- HelpEvent.cs
- AngleUtil.cs
- IdentityModelDictionary.cs
- ClockGroup.cs
- RemotingHelper.cs
- AnnotationResource.cs
- QilParameter.cs
- InfiniteTimeSpanConverter.cs
- DataGridCaption.cs
- CompilerLocalReference.cs
- DataRecordInternal.cs
- GroupLabel.cs
- WebServiceHandlerFactory.cs
- MobileCapabilities.cs
- WmlLiteralTextAdapter.cs
- IncrementalReadDecoders.cs
- CodeGotoStatement.cs
- MultilineStringConverter.cs
- TransformCollection.cs
- ParsedAttributeCollection.cs
- AdCreatedEventArgs.cs
- SocketInformation.cs
- WorkflowCreationContext.cs
- SQLRoleProvider.cs
- Base64Decoder.cs
- Config.cs
- SafeEventLogWriteHandle.cs
- ComponentGuaranteesAttribute.cs
- XmlSerializationGeneratedCode.cs
- TextBlock.cs
- XmlArrayItemAttribute.cs
- SecurityManager.cs
- ReachFixedPageSerializer.cs
- CertificateReferenceElement.cs
- TextWriter.cs
- SessionStateItemCollection.cs
- EncoderParameters.cs
- ProfileSettings.cs
- WebScriptMetadataMessageEncoderFactory.cs
- XmlCharCheckingWriter.cs
- ValuePattern.cs
- EdmRelationshipRoleAttribute.cs
- SafeHandle.cs
- QualificationDataAttribute.cs
- ConstraintManager.cs
- Pkcs7Recipient.cs
- InvalidateEvent.cs
- ClassicBorderDecorator.cs
- LogEntrySerializer.cs
- EntityViewGenerationAttribute.cs
- PreviewPageInfo.cs
- IdentityReference.cs
- CompositeCollectionView.cs
- JoinGraph.cs
- XmlMapping.cs
- ContainerAction.cs
- OdbcConnection.cs
- CopyAction.cs
- WebPartAuthorizationEventArgs.cs
- SecurityToken.cs
- ExtensibleClassFactory.cs
- FormatVersion.cs
- PopupEventArgs.cs
- SetStateEventArgs.cs
- TextRunProperties.cs
- ConnectionOrientedTransportChannelFactory.cs
- TypeSystem.cs
- MetadataCache.cs
- ListViewItemMouseHoverEvent.cs
- EventLogPermissionAttribute.cs
- Operators.cs
- DataServiceQueryException.cs
- DesignTimeVisibleAttribute.cs
- Int32Rect.cs
- WebPartZone.cs
- DomainUpDown.cs
- ArgumentException.cs
- SmtpClient.cs
- TimelineGroup.cs
- BordersPage.cs
- SingleTagSectionHandler.cs
- NullReferenceException.cs
- RuntimeTransactionHandle.cs
- Deserializer.cs
- ToolStripLocationCancelEventArgs.cs
- oledbmetadatacollectionnames.cs
- SspiNegotiationTokenProvider.cs