Maison  >  Article  >  développement back-end  >  Comment créer une fenêtre sans bordure avec Shadow, Snap, Animation de minimisation et Shake dans QT et C ?

Comment créer une fenêtre sans bordure avec Shadow, Snap, Animation de minimisation et Shake dans QT et C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-26 11:59:29135parcourir

How to Create a Borderless Window with Shadow, Snap, Minimization Animation, and Shake in QT and C  ?

Créer une fenêtre sans bordure avec ombre, accrochage, animation de minimisation et tremblement

Créer une fenêtre sans bordure sous Windows peut être difficile, car cela supprime diverses fonctionnalités telles que l'ombre Areo, l'accrochage, l'animation de minimisation et le tremblement. Cependant, il est possible d'implémenter ces fonctionnalités dans QT et C en mettant en œuvre les étapes suivantes :

Masquer la bordure de la fenêtre :

Gérez le message WM_NCCALCSIZE dans votre WindowProc pour le masquer. la bordure de la fenêtre :

<code class="c++">case WM_NCCALCSIZE: {
    if (window->is_borderless) {
        return 0;
    } else {
        return DefWindowProc(hwnd, msg, wparam, lparam);
    }
}</code>

Activer Areo Shadow :

Activez l'ombre en étendant le cadre dans la zone client à l'aide de DwmExtendFrameIntoClientArea :

<code class="c++">MARGINS borderless = {1,1,1,1};
DwmExtendFrameIntoClientArea(hwnd, &amp;borderless);</code>

**Activer

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn