c # - Sådan registreres hjørneradiusen korrekt for tema vindue

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at finde en måde at opdage radius af tema vindues hjørne (pls, se billedet vedhæftet). F.eks. For Aero tema, når DWM er på alle hjørner, har radius 8, når DWM er slukket, kun øverste hjørner er kurvede og har en radius 6. Lige nu er jeg hardcoding-indstillinger for forskellige temaer, og mine spørgsmål er der en mere intelligent måde at registrere disse indstillinger på?


vindues hjørne


Indtil videre har jeg kigget på windows visuelle stilarter api (UxTheme.dll) og kan ikke finde hvordan man får den rigtige radius, det er altid det samme for Aero, uanset om DWM er tændt eller slukket.


TIA

Bedste reference


Ikke sikker på denne ene. Du kan prøve at bruge SystemParametersInfo med SPI\_GETNONCLIENTMETRICS og kigge på den resulterende NONCLIENTMETRICS structs iBorderWidth og iPaddedBorderWidth for at se om du kan finde en sammenhæng? [1] [2]