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
- DataGridViewSelectedCellCollection.cs
- EncoderParameters.cs
- HTMLTextWriter.cs
- BitmapEffectGeneralTransform.cs
- SharedUtils.cs
- InputLanguageEventArgs.cs
- BindingNavigator.cs
- SqlDataSourceTableQuery.cs
- FunctionNode.cs
- HtmlInputCheckBox.cs
- Figure.cs
- safex509handles.cs
- ApplicationDirectoryMembershipCondition.cs
- DataControlFieldHeaderCell.cs
- FileDialogPermission.cs
- PcmConverter.cs
- NotifyInputEventArgs.cs
- ServiceRoute.cs
- GridViewCancelEditEventArgs.cs
- TextureBrush.cs
- ModelTreeManager.cs
- SettingsAttributeDictionary.cs
- HScrollProperties.cs
- ArrayExtension.cs
- Emitter.cs
- SqlClientMetaDataCollectionNames.cs
- UrlMappingsSection.cs
- Matrix.cs
- TemplatedAdorner.cs
- VisualBrush.cs
- ImportOptions.cs
- CachedBitmap.cs
- Registry.cs
- UserCancellationException.cs
- EmptyStringExpandableObjectConverter.cs
- AutoGeneratedField.cs
- DeferredSelectedIndexReference.cs
- FileDialog.cs
- RequestSecurityTokenSerializer.cs
- EntityRecordInfo.cs
- ApplicationFileCodeDomTreeGenerator.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- ContextMenu.cs
- NameHandler.cs
- TreeViewItem.cs
- CallbackCorrelationInitializer.cs
- Property.cs
- BitmapMetadataBlob.cs
- CompositeControl.cs
- InputLangChangeRequestEvent.cs
- AsymmetricSignatureFormatter.cs
- SqlClientPermission.cs
- FormViewInsertEventArgs.cs
- ChangesetResponse.cs
- NodeInfo.cs
- GroupBoxRenderer.cs
- ObjectQueryExecutionPlan.cs
- ValidatorCollection.cs
- ProfessionalColors.cs
- CatalogPart.cs
- DataGridHeaderBorder.cs
- TextStore.cs
- ArraySegment.cs
- ProgressBar.cs
- Image.cs
- PriorityBindingExpression.cs
- CryptoApi.cs
- UIElementAutomationPeer.cs
- TextEndOfParagraph.cs
- PrintingPermissionAttribute.cs
- HandleRef.cs
- RawTextInputReport.cs
- InstanceHandle.cs
- LineBreakRecord.cs
- ConsumerConnectionPointCollection.cs
- MouseOverProperty.cs
- EventLogPermissionAttribute.cs
- ToolBarPanel.cs
- MarkupExtensionParser.cs
- SqlConnectionManager.cs
- SerializationHelper.cs
- FlowLayoutPanel.cs
- PathStreamGeometryContext.cs
- DispatchWrapper.cs
- BitmapMetadata.cs
- WebSysDescriptionAttribute.cs
- WebPartEditorCancelVerb.cs
- DurableErrorHandler.cs
- DbDataAdapter.cs
- NullToBooleanConverter.cs
- MatrixAnimationUsingPath.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- GridViewSelectEventArgs.cs
- FrameworkObject.cs
- CacheVirtualItemsEvent.cs
- AdRotator.cs
- SafeLibraryHandle.cs
- Literal.cs
- ItemsPanelTemplate.cs
- PathGeometry.cs