Vytváření ovládacího prvku modelu Windows Forms (C++)
Ovládací prvky modelu Windows Forms jsou komponenty, které mohou být přidány do Formulářové aplikace Windows (aplikace s grafickým rozhraním (GUI), určená pro CLR). Formulářová aplikace Windows ve Visual C++ používá tříd rozhraní .NET Framework a dalších funkcí .NET s novou syntaxí Visual C++.
V tomto návodu vytvoříte ovládací prvek modelu Windows Froms, který zobrazí číslo. Toto číslo se zvýší vždy, když uživatel klikne na popisek v aplikaci. Vytvoříte také projekt Formulářové aplikace Windows pro testování ovládacího prvku.
Tento postup obsahuje následující:
Vytvoření nového projektu.
Návrh ovládacího prvku.
Přidání vlastní vlastnosti do ovládacího prvku.
Přidání projektu pro testování ovládacího prvku.
Umístění ovládacího prvku do aplikace.
Spuštění aplikace.
Požadavky
Toto téma předpokládá, že chápete základy jazyka C++. Pokud jste začali učení jazyka C++, doporučujeme Guide Začátečník C++"" Zapisovat Jahoda Schildt k dispozici online na https://go.microsoft.com/fwlink/?LinkId=115303.
Pro video verzi tohoto tématu navštivte Video postupy: Vytvoření ovládacího prvku (C++) model Windows Forms.
Vytvoření nového projektu
Šablona projektu ovládacího prvku modelu Windows Forms, použitá v této části vytvoří uživatelský ovládací prvek, což je složený ovládací prvek obsahující další ovládací prvky.
Alternativně lze vytvořit ovládací prvek modelu Windows Forms odvozením třídy přímo z třídy Control (váš kód je odpovědný za vykreslení ovládacího prvku), nebo třídy Component (prvek, který nemá žádné uživatelské rozhraní).
Vytvoření nového ovládacího prvku modelu Windows Forms
V nabídce Soubor klikněte na příkaz Nový a potom klikněte na příkaz Projekt....
V podokně Typy projektu vyberte v uzlu Visual C++ položku CLR a potom zvolte v podokně Instalované šablony Visual Studia položku Knihovna ovládacího prvku modelu Windows Forms.
Zadejte název projektu, jako například clickcounter.
Zadejte jiný název pro řešení, jako například controlandtestapp.
Můžete přijmout výchozí umístění, zadat jiné umístění nebo vyhledat adresář, do kterého chcete projekt uložit.
Návrhář Windows formulářů otevře a zobrazí oblast, kde můžete přidat ovládací prvky, které chcete umístit na návrhové ploše ovládacího prvku.
Návrh ovládacího prvku
V tomto kroku přidáte ovládací prvek Label na návrhovou plochu ovládacího prvku. Poté nastavíte některé vlastnosti ovládacího prvku a ovládacího prvku Label.
Nastavení vlastností uživatelského ovládacího prvku
Pokud není vidět okno Vlastností, klikněte v nabídce Zobrazení na okno Vlastností.
V Návrháři Windows formulářů klikněte na ovládací prvek pro jeho výběr a nastavte jeho vlastnosti následujícím způsobem:
Nastavte vlastnost Velikost na hodnotu 100, 100.
Nastavte BorderStyle na Fixed3D
Okraje popisku se zobrazí, jakmile umístíte ovládací prvek v aplikaci.
Pokud není vidět okno Panel nástrojů, zvolte Panel nástrojů z nabídky Zobrazení.
Přetáhněte ovládací prvek Label z Panelu nástrojů na návrhovou plochu a umístěte jej poblíž středu ovládacího prvku.
Nastavte tyto vlastnosti popisku:
Nastavte BorderStyle na FixedSingle.
Nastavte Text na číslici 0 (nula).
Nastavte vlastnost Autosize na False.
Nastavte velikost na hodnotu 30, 20.
Nastavte TextAlign na MiddleCenter.
Ponechte vlastnost Název (kterým na něj odkazujete v kódu) beze změny jako label1. Ovládací prvek by měl vypadat takto:
Přidejte obslužnou rutinu události pro událost popisku Click (výchozí událost pro popisek) tím, že na něj dvakrát kliknete.
Soubor clickcounter.h se zobrazí v oblasti úprav s prázdnou metodou obslužné rutiny události.
Poznámka
Pokud potřebujete více místa, zavřete Panel nástrojů nebo okno Vlastností kliknutím na příslušné tlačítko Zavřít nebo odepnutím okna, takže se automaticky schová.
Přesuňte kurzor za otevírací závorku metody label1_Click, stiskněte klávesu Enter a zadejte:
int temp = System::Int32::Parse(label1->Text); temp++; label1->Text = temp.ToString();
Technologie IntelliSense zobrazí seznam platných možnosti po zadání operátoru rozlišení (::), operátoru tečky (.), nebo operátoru šipka (->). Můžete zvýraznit položku a stisknout klávesu Tab nebo Enter, nebo dvakrát klikněte na položku, kterou chcete vložit do kódu.
Pokud zadáte počáteční kulatou závorkou pro metodu, sada Visual Studio zobrazí platné typy argumentů pro každé přetížení metody.
Přidání vlastní vlastnosti do ovládacího prvku
V tomto kroku definujete vlastní vlastnost, která určuje, zda se číslo které je zobrazeno na tomto ovládacím prvku zvýší, když uživatel klikne na popisek, nebo když uživatel klikne na libovolné místo na ovládacím prvku.
Přidání vlastní vlastnosti do ovládacího prvku
Umístěte kurzor za dvojtečku prvního identifikátoru rozsahu public, public:, v horní části souboru clickcounterControl.h, stiskněte klávesu Enter a potom zadejte následující příkaz:
property bool ClickAnywhere { bool get() { return (label1->Dock == DockStyle::Fill); } void set(bool val) { if (val) label1->Dock = DockStyle::Fill; else label1->Dock = DockStyle::None; } }
Jakmile nastavíte vlastnost ovládacího prvku ClickAnywhere na true, vlastnost popisku Dock je nastavena na DockStyle::Fill a jmenovka vyplní celý povrch ovládacího prvku. Kliknutí kdekoli na povrchu ovládacího prvku způsobí událost popisku Click, která zvýší číslo na popisku.
Pokud je vlastnost ovládacího prvku ClickAnywhere nastavena na false (výchozí nastavení), vlastnost popisku Dock je nastavena na DockStyle::None. Popisek nevyplní ovládací prvek, a kliknutí na ovládací prvek musí být uvnitř hranic jmenovky, aby způsobilo událost jmenovky Click, která zvýší číslo.
Sestavte uživatelský ovládací prvek. V nabídce Sestavit zvolte Sestavit řešení.
Jestliže nedojde k žádným chybám, ovládací prvek modelu Windows Forms je vytvořen jako soubor s názvem clickcounter.dll. Tento soubor lze vyhledat v adresářové struktuře projektu.
Přidání projektu pro testování ovládacího prvku
V tomto kroku vytvoříte projektu Formulářové aplikace Window, ve kterém umístíte instanci ovládacího prvku počítajícího kliknutí ve formuláři.
Poznámka
Formulářovou aplikaci Windows pro testování ovládacího prvku lze vytvořit pomocí Visual C++ nebo jiného jazyka rozhraní .NET, jako například C# nebo Visual Basic.
Vytvořit projekt modelu Windows Forms
- V nabídce Soubor klikněte na příkaz Nový a potom klikněte na příkaz Projekt....
Je také možné přidat projekt do řešení kliknutím pravým tlačítkem myši na řešení controlandtestapp v Průzkumníku řešení, přesunutím na Přidat a potom kliknout na Nový projekt….
V podokně Typy projektu vyberte v uzlu Visual C++ položku CLR a potom zvolte v podokně Instalované šablony Visual Studia položku Formulářová aplikace Windows.
Zadejte název projektu, jako například testapp.
Nezapomeňte zvolit Přidat do řešení namísto přijetí výchozího nastavení Vytvořit nové řešení v rozevíracím seznamu Řešení a potom klikněte na OK.
Pro nový projekt se otevře Návrhář Windows formulářů a zobrazí nový formulář pojmenovaný Form1 jako na tomto obrázku:
Přidání ovládacího prvku do Panelu nástrojů
Přidejte referenci na ovládací prvek. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt testapp a klikněte na Odkazy.
Klikněte na tlačítko Přidat nový odkaz, klikněte na kartu Projekty (přidáváte odkaz na jiný projekt v tomto řešení) a potom vyberte projekt clickcounter. Dvakrát klepněte na tlačítko OK.
Pokud není vidět okno Panel nástrojů, v nabídce Zobrazit klikněte na Panel nástrojů .
Pokud nemůžete najít ovládací prvek clickCounter v Panelu nástrojů s ikonou "Převod", klikněte pravým tlačítkem myši na Panel nástrojů a klikněte na tlačítko Zvolit položky.
Klikněte na tlačítko Procházet a najděte soubor clickcounter.dll ve struktuře adresářů řešení. Zvolte jej a klikněte na Otevřít.
Ovládací prvek clickcounter je zobrazen v seznamu .NET Framework Components se zaškrtnutou značkou. Klepněte na tlačítko OK.
Ovládací prvek se zobrazí v Panelu nástrojů s výchozí ikonou „Převod”.
Umístění ovládacího prvku do aplikace
V tomto kroku umístěte dvě instance ovládacího prvku na formulář aplikace a nastavíte jejich vlastnosti.
Umístění instancí ovládacího prvku na formulář
Přetáhněte dvě instance ovládacího prvku clickcounter z Panelu nástrojů. Umístěte je na formuláři tak, aby se nepřekrývaly.
Chcete-li rozšířit formulář, klikněte na formulář, zvolte jej a táhněte jeden z úchytů ven.
Pokud není vidět okno Vlastností, klikněte v nabídce Zobrazení na Vlastnosti.
Vlastnost ClickAnywhere je v oddíle Různé okna Vlastností (pokud jsou vlastnosti uspořádány podle kategorie).
Klikněte na jednu instanci prvku clickcounter ve formulář, zvolte jí a potom nastavte její vlastnost ClickAnywhere na true.
Ponechejte vlastnost ClickAnywhere druhé instance ovládacího prvku clickcounter nastavenou na false (výchozí).
V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt testapp a nastavte jej jako Set As StartUp Project.
Z nabídky Sestavení vyberte Znovu sestavit řešení.
Měli byste vidět, že se oba projekty sestaví bez chyb.
Spuštění aplikace
V tomto kroku spustíte aplikaci a kliknutím otestujete ovládací prvek
Testování aplikace
Z nabídky Ladit vyberte Začít ladění.
Zobrazí se formulář se dvěma viditelnými instancemi ovládacího prvku.
Spusťte aplikace a klikněte na oba ovládací prvky clickcounter:
Klikněte na ovládací prvek s vlastností ClickAnywhere nastavenou na true.
Číslo na etiketěpřírůstcích klepnutím kdekoli na ovládací prvek.
Klikněte na ovládací prvek s vlastností ClickAnywhere nastavenou na false.
Číslo na popisku se zvětšuje pouze pokud kliknete uvnitř hranic zobrazeného popisku. Následující obrázek ukazuje, jak může aplikace vypadat po několikerém kliknutí na tlačítko:
- Ukončete testovací aplikaci kliknutím na pole Zavřít v pravém horním rohu okna Form1.
Další kroky
Předchozí téma: Vytvoření Formulářová aplikace Windows pomocí technologie .NET Framework (C++) | Další téma: Vytváření hry pomocí rozhraní DirectX (C++)
Viz také
Úkoly
Odkaz
Koncepty
Úvod do rozhraní IDE sady Visual Studio (C++)