예제 #1
0
        /// <summary>
        /// Stattet das Fenster mit einem erweiterten Aero-Rahmen aus
        /// </summary>
        protected override void OnSourceInitialized(EventArgs e)
        {
            base.OnSourceInitialized(e);

            // Den Aero-Rahmen in den Innenbereich verbreitern
            WindowUtils.ExtendWindowFrame(this);

            // Die Hook-Methode in die Nachrichtenverarbeitung einhängen
            HwndSource hwndSource = HwndSource.FromHwnd(
                new WindowInteropHelper(this).Handle);

            hwndSource.AddHook(new HwndSourceHook(this.WindowProc));
        }
예제 #2
0
        /// <summary>
        /// Fängt den Wechsel des Windows-Themas ab, um den Rahmen
        /// neu zu definieren
        /// </summary>
        private IntPtr WindowProc(IntPtr hwnd, int msg,
                                  IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            const int DWMCOMPOSITIONCHANGED = 0x031E;

            if (msg == DWMCOMPOSITIONCHANGED)
            {
                // Den Rahmen neu definieren
                WindowUtils.ExtendWindowFrame(this);
            }

            // Ein leeres Ergebnis zurückgeben
            return(IntPtr.Zero);
        }