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
- SuppressIldasmAttribute.cs
- SizeF.cs
- CodeAccessSecurityEngine.cs
- VerticalAlignConverter.cs
- TextServicesManager.cs
- Axis.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- QilXmlReader.cs
- _BufferOffsetSize.cs
- QuaternionValueSerializer.cs
- WrapperEqualityComparer.cs
- DbConnectionPoolGroup.cs
- CapiSafeHandles.cs
- UpdateExpressionVisitor.cs
- GridViewDeletedEventArgs.cs
- AutomationPeer.cs
- HtmlGenericControl.cs
- FixedBufferAttribute.cs
- Label.cs
- GenerateScriptTypeAttribute.cs
- ListBoxItem.cs
- ProfileGroupSettings.cs
- SspiSecurityTokenProvider.cs
- DesignerToolStripControlHost.cs
- UpdatePanel.cs
- UnaryNode.cs
- DeadCharTextComposition.cs
- OleDbDataAdapter.cs
- CompilerState.cs
- Blend.cs
- SimpleType.cs
- DesignerOptionService.cs
- EventWaitHandleSecurity.cs
- LogicalTreeHelper.cs
- BitmapImage.cs
- DocumentXPathNavigator.cs
- SchemaElement.cs
- RunWorkerCompletedEventArgs.cs
- Rotation3DAnimation.cs
- SelectionProviderWrapper.cs
- PartialArray.cs
- RoleManagerEventArgs.cs
- DoubleLinkList.cs
- FlowSwitch.cs
- CustomDictionarySources.cs
- Viewport3DAutomationPeer.cs
- LabelEditEvent.cs
- RbTree.cs
- FileDialogPermission.cs
- CodeSpit.cs
- RepeaterItemCollection.cs
- ConvertEvent.cs
- DesignerActionItem.cs
- BaseCodePageEncoding.cs
- HttpEncoderUtility.cs
- XmlElementElementCollection.cs
- SecurityKeyIdentifierClause.cs
- PieceNameHelper.cs
- MappedMetaModel.cs
- SessionSwitchEventArgs.cs
- RoutedEvent.cs
- QilFactory.cs
- SqlTypesSchemaImporter.cs
- Evidence.cs
- ConnectionProviderAttribute.cs
- Exception.cs
- SQLStringStorage.cs
- Pen.cs
- QilTypeChecker.cs
- CompatibleComparer.cs
- ToolStripArrowRenderEventArgs.cs
- WmlValidatorAdapter.cs
- AggregateNode.cs
- ActionMessageFilterTable.cs
- _AutoWebProxyScriptHelper.cs
- PluralizationService.cs
- UrlMapping.cs
- Button.cs
- WinOEToolBoxItem.cs
- PassportIdentity.cs
- HttpDebugHandler.cs
- DeflateStream.cs
- ResourceDescriptionAttribute.cs
- ChangePassword.cs
- LeaseManager.cs
- TypeGenericEnumerableViewSchema.cs
- LineBreak.cs
- PersonalizablePropertyEntry.cs
- HtmlTableRow.cs
- PanelStyle.cs
- Visitor.cs
- TreeNodeBinding.cs
- PropertyManager.cs
- DBAsyncResult.cs
- UserControlBuildProvider.cs
- WSDualHttpBinding.cs
- CultureSpecificCharacterBufferRange.cs
- SchemaNames.cs
- PageRequestManager.cs
- Compiler.cs