Sdílet prostřednictvím


Principy vlastnosti okna

Okno třídy širokých poskytují jednoduchý způsob pro standardizaci styly použité pro vytvoření objektu ATL okno.Okno Vlastnosti jsou přijímány jako parametry šablony podle CWindowImpl a jiné okno třídy ATL jako způsob poskytování výchozí styly oken na úrovni třídy.

Pokud autor instance okna nenabízí styly explicitně ve volání vytvořit, můžete vlastnosti třídy zajistí okna stále vytvoření správného styly.Dokonce můžete zajistit, že určité styly jsou nastavit pro všechny instance třídy okna umožňující jiné styly nastavit na základě instance.

ATL okno Vlastnosti šablony

ATL poskytuje dvě okna vlastností šablony, které umožňují nastavit výchozí styly při kompilaci pomocí jejich parametry šablony.

Třída

Description

CWinTraits

Pomocí této šablony můžete poskytnout výchozí styly oken, které budou použity pouze při volání nejsou zadány žádné jiné styly vytvořit.Styly v běhu přednost přes styly na kompilace.

CWinTraitsOR

Pomocí této třídy, pokud chcete určit styly, které musí být vždy nastavena pro třídu okna.Styly k dispozici v době běhu jsou kombinovány s styly nastavit při kompilaci pomocí bitového operátoru OR.

Navíc tyto šablony ATL poskytuje několik předdefinovaných specializace z CWinTraits šablony pro běžně používané kombinace styly oken.Najdete CWinTraits referenční dokumentace pro úplné podrobnosti.

Vlastní vlastnosti okna

Že specializing jeden z šablony ATL nepravděpodobná situace není dostatečná a potřebujete vytvořit vlastní vlastnosti třídy, stačí vytvořit třídu, která implementuje dvě statické funkce: GetWndStyle a GetWndStyleEx:

static DWORD GetWndStyle(DWORD dwStyle);
static DWORD GetWndExStyle(DWORD dwExStyle);

Každá z těchto funkcí bude předáno některé hodnoty stylu za běhu, které můžete použít k vytvoření nové hodnoty stylu.Pokud okno Vlastnosti třídy je používán jako argument do třídy ATL okno šablony, styl hodnoty předány tyto statické funkce budou bez ohledu byl předán jako argument styl vytvořit.

Viz také

Další zdroje

ATL – třídy oken