Kurz3 - Kapitola1

17. června 2007 v 15:53 | http://www.sweb.cz/kurz_evt/ |  Programování pro WinCE

5. Program TestCOM

5.1 Úvod do MFC

Ve třetím kurzu již opustíme čisté Windows API a zapojíme do práce knihovnu MFC. Ne že by program (spíše drobnou utilitku), který budeme vytvářet, nešlo napsat pomocí Win API. Důvodem následujícího postupu bylo to, že jsem chtěl do kapesního počítače posbírat nějaká data ze sériové linky a chtěl jsem si sériové porty před tím "osahat".
Abych si ušetřil spoustu řádků zdrojového kódu a měl program rychle připravený, sáhl jsem po knihovně MFC. Její použití je vhodné právě pro takové případy, jaký se chystáme začít tvořit.

5.1.1 Co je to MFC?

Programové rozhraní API nabízené operačním systémem Windows je velmi mocný a rozsáhlý nástroj. Při psaní programů se nevyhneme častokrát se opakujícím postupům. Stačí si třeba uvědomit, že v téměř každém programu najdete alespoň jeden dialog (např. ten ... O aplikaci...:-).
To si asi uvědomili v Microsoftu a pokusili se často opakující akce a příslušná data zabalit do přichystané knihovny tříd. Tak vnikla MFC - Microsoft Foundation Class Library. V ní jsou "zabaleny" do připravených tříd typické programátorské úkoly. Knihovna je poměrně rozsáhlá a zahrnuje velký počet tříd. Pro Windows CE však podstoupila částečnou redukci, takže v ní nenajdete všechny třídy, na které můžete být zvyklí z velkých Windows (Poznámka pro ty, co již s MFC pracovali).
Jestliže se například vrátíme ke zmíněnému dialogu, stačí, abychom ve svém programu vytvořili objekt třídy CDialog z knihovny MFC a máme kostru dialogu připravenu. Naším úkolem pak je pouze doplnit specifické prvky a funkce unikátní pro náš případ. Vytvoření kostry programu pomocí MFC se tak výrazně urychlí.
U prvních přístrojů s Windows CE nebyla knihovna MFC součástí operačního systému a bylo nutné ji doinstalovat nebo program při překladu staticky linkovat i s MFC knihovnou. Odhaduji, že přibližně od nástupu Palm PC s verzí 2.11 operačního systému se knihovna stala standardní součástí Windows CE. Je třeba však upozornit, že i v současnosti mohou být speciální eMbedded systémy, kde knihovna není zahrnuta. Pro náš případ budeme ale předpokládat, že knihovna MFC je na kapesním počítači k dispozici.

5.1.2 Co budete potřebovat znát?

V úvodním kurzu jsem sliboval, že stačí základy jazyka C. Bohužel, používání tříd, dědičnost, vytváření objektů, některé nové příkazy, atd. již vyžadují znalosti jazyka C++. Nemusíte být expertem, postačí solidní znalost základů C++. Pokud ji nemáte, doporučil bych nějakou knihu nebo prohledat Internet a podívat se po vhodném výukovém materiálu.
Před časem byly v Internetu dostupné stránky se stručným přiblížením programování s pomocí MFC. Autoři byli pravděpodobně studenti VŠB. Když jsem tyto texty hledal v současnosti, nepodařilo se mi je najít. Proto jsem si je dovolil vytáhnout z vlastního archívu a umístit zde. Chtěl bych tímto požádat autory - pokud zabrousí někdy na tyto stránky - o dodatečné povolení na umístění jejich díla (v případě nesouhlasu bude odkaz odstraněn).
Stručná učebnice programování pomocí MFC a dialogů - první část (texty)
Stručná učebnice programování pomocí MFC a dialogů - druhá část (obrázky)

Obě části si po stažení rozbalte do stejného cílového adresáře.
Při rozbalování zachovejte jména adresářů. Začíná se v obvyklém "index.html".
V uvedených textech je programování pomocí MFC zmíněno velmi stručně, zato jsou podrobně popsány společné dialogové prvky a jejich vlastnosti. To vám může být užitečné při tvorbě dialogově založeného programu.

Co bychom si měli z této lekce zapamatovat?

  • V knihovně MFC jsou přichystány třídy pro obvyklé objekty programu.
  • Knihovna MFC urychluje tvorbu kostry programu.
 

Buď první, kdo ohodnotí tento článek.

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.