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
- WebPartDisplayMode.cs
- HtmlElementEventArgs.cs
- TreeNodeCollection.cs
- ExtensibleClassFactory.cs
- TableLayoutColumnStyleCollection.cs
- EntityTypeBase.cs
- SQLStringStorage.cs
- CultureInfoConverter.cs
- ConfigXmlCDataSection.cs
- TableRowCollection.cs
- ISSmlParser.cs
- SizeF.cs
- DataStreamFromComStream.cs
- XamlToRtfWriter.cs
- ComponentManagerBroker.cs
- DynamicQueryableWrapper.cs
- OpenFileDialog.cs
- HttpRawResponse.cs
- Scalars.cs
- TrackingExtract.cs
- BinaryConverter.cs
- ClosableStream.cs
- httpapplicationstate.cs
- Collection.cs
- BuildProvidersCompiler.cs
- SqlUdtInfo.cs
- PropertyValueChangedEvent.cs
- IArgumentProvider.cs
- DataGridViewBindingCompleteEventArgs.cs
- HttpListenerResponse.cs
- MemoryFailPoint.cs
- ProxySimple.cs
- TraceListeners.cs
- StrokeNodeOperations2.cs
- XamlSerializerUtil.cs
- TemplateComponentConnector.cs
- DataControlPagerLinkButton.cs
- TriggerActionCollection.cs
- SpecialNameAttribute.cs
- RelationshipDetailsCollection.cs
- CellQuery.cs
- WinCategoryAttribute.cs
- parserscommon.cs
- DataGridViewDataErrorEventArgs.cs
- TemplateContentLoader.cs
- ClientSettingsProvider.cs
- TypedElement.cs
- Binding.cs
- AxWrapperGen.cs
- OperatorExpressions.cs
- UriScheme.cs
- DecoderFallback.cs
- DependencyPropertyKey.cs
- PerfCounters.cs
- SelectionProviderWrapper.cs
- OleDragDropHandler.cs
- DataBinder.cs
- Authorization.cs
- DataColumnMapping.cs
- ImageMetadata.cs
- BoolExpressionVisitors.cs
- ContainsRowNumberChecker.cs
- XmlStreamNodeWriter.cs
- AutoResizedEvent.cs
- SafeProcessHandle.cs
- IItemContainerGenerator.cs
- PhysicalAddress.cs
- RemoteArgument.cs
- UserPersonalizationStateInfo.cs
- ExtensionQuery.cs
- EllipticalNodeOperations.cs
- Invariant.cs
- ToolStripArrowRenderEventArgs.cs
- ServiceElementCollection.cs
- PropertyGridDesigner.cs
- ExecutionScope.cs
- UnsafeNativeMethods.cs
- HtmlShim.cs
- LogLogRecordHeader.cs
- ViewGenerator.cs
- ToolboxItemAttribute.cs
- AssemblyBuilderData.cs
- FactoryGenerator.cs
- WsatEtwTraceListener.cs
- ClientEventManager.cs
- CroppedBitmap.cs
- DictionaryTraceRecord.cs
- PowerModeChangedEventArgs.cs
- RelOps.cs
- AlternateViewCollection.cs
- XmlSignatureProperties.cs
- NameValuePermission.cs
- PropertyValueChangedEvent.cs
- ZipIOExtraFieldElement.cs
- DBAsyncResult.cs
- WebServicesSection.cs
- DbDataRecord.cs
- SchemaHelper.cs
- AspCompat.cs
- LogArchiveSnapshot.cs