Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------- // 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
- SmiContextFactory.cs
- PolicyVersionConverter.cs
- CollectionType.cs
- CodeMemberProperty.cs
- MessageQueueInstaller.cs
- MobileFormsAuthentication.cs
- DnsPermission.cs
- RightsManagementPermission.cs
- DataSetMappper.cs
- ServiceDeploymentInfo.cs
- ModifierKeysConverter.cs
- NetWebProxyFinder.cs
- OTFRasterizer.cs
- XmlWrappingReader.cs
- GenericRootAutomationPeer.cs
- GlobalizationAssembly.cs
- WebPartMovingEventArgs.cs
- SelectionRangeConverter.cs
- ThemeConfigurationDialog.cs
- LineBreak.cs
- ConfigurationManagerInternalFactory.cs
- RSAPKCS1SignatureFormatter.cs
- UniqueConstraint.cs
- MarshalByRefObject.cs
- CodeMemberProperty.cs
- XDRSchema.cs
- XmlAttributeCollection.cs
- ScrollBar.cs
- Misc.cs
- Image.cs
- MULTI_QI.cs
- PlatformCulture.cs
- TypedReference.cs
- TemplatedMailWebEventProvider.cs
- StringConverter.cs
- TopClause.cs
- DataGridViewRowEventArgs.cs
- PagesChangedEventArgs.cs
- NamespaceDecl.cs
- HttpEncoderUtility.cs
- BitmapEffectInputData.cs
- SymmetricAlgorithm.cs
- ServiceBehaviorAttribute.cs
- DocumentReferenceCollection.cs
- DurableInstance.cs
- RelatedView.cs
- Triplet.cs
- TdsRecordBufferSetter.cs
- BitmapEffectGeneralTransform.cs
- ApplicationSecurityInfo.cs
- TdsParserHelperClasses.cs
- PoisonMessageException.cs
- InputLanguage.cs
- FlowDocumentFormatter.cs
- XmlWriterTraceListener.cs
- ListViewItemEventArgs.cs
- Attributes.cs
- Vector3DKeyFrameCollection.cs
- CreateRefExpr.cs
- RecordManager.cs
- CodeAttachEventStatement.cs
- WorkflowRuntimeServiceElementCollection.cs
- DeviceContexts.cs
- WmlLiteralTextAdapter.cs
- TableAdapterManagerMethodGenerator.cs
- TreeNodeStyle.cs
- ServiceDesigner.cs
- FacetValueContainer.cs
- StringCollection.cs
- WebServiceParameterData.cs
- MulticastIPAddressInformationCollection.cs
- PropertyValueChangedEvent.cs
- OutputCacheEntry.cs
- ScriptingSectionGroup.cs
- DataPagerFieldCommandEventArgs.cs
- contentDescriptor.cs
- QueryServiceConfigHandle.cs
- XmlElementAttributes.cs
- PathStreamGeometryContext.cs
- SocketInformation.cs
- ConfigXmlDocument.cs
- AdjustableArrowCap.cs
- IPCCacheManager.cs
- File.cs
- EnumConverter.cs
- ToolStripPanelSelectionGlyph.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- ColorBlend.cs
- RegexTree.cs
- ResourceBinder.cs
- XMLUtil.cs
- CompressedStack.cs
- sitestring.cs
- Point.cs
- CroppedBitmap.cs
- XPathScanner.cs
- EpmCustomContentDeSerializer.cs
- RtfToXamlLexer.cs
- safelink.cs
- CssStyleCollection.cs