Sdílet prostřednictvím


Směrování příkazů

Vaše zodpovědnost za práci s příkazy je omezená na vytváření propojení mapování zpráv mezi příkazy a jejich funkcemi obslužné rutiny, což je úloha, pro kterou používáte Průvodce třídou MFC. Musíte také napsat kód pro obslužné rutiny příkazů.

Zprávy systému Windows se obvykle odesílají do okna hlavního rámce, ale zprávy příkazů se pak směrují na jiné objekty. Architektura směruje příkazy přes standardní sekvenci objektů cíle příkazů, z nichž jedna má mít obslužnou rutinu příkazu. Každý objekt cíle příkazu zkontroluje mapu zpráv a zjistí, jestli dokáže zpracovat příchozí zprávu.

Různé třídy cíle příkazů kontrolují své vlastní mapy zpráv v různých časech. Třída obvykle směruje příkaz na určité jiné objekty, aby jim dal první šanci na příkaz. Pokud žádný z těchto objektů nezpracuje příkaz, původní třída zkontroluje vlastní mapu zpráv. Pokud pak nemůže zadat samotnou obslužnou rutinu, může příkaz směrovat na ještě více cílů příkazů. Následující tabulka Standardní trasa příkazů ukazuje, jak každá z tříd strukturuje tuto sekvenci. Obecné pořadí, ve kterém příkaz směruje příkaz, je:

  1. Do aktuálně aktivního podřízeného objektu cíle příkazového řádku.

  2. Na sebe sama.

  3. Do jiných cílů příkazů.

Jak nákladný je tento mechanismus směrování v porovnání s tím, co vaše obslužná rutina dělá v reakci na příkaz, náklady na směrování jsou nízké. Mějte na paměti, že architektura generuje příkazy pouze tehdy, když uživatel komunikuje s objektem uživatelského rozhraní.

Standardní trasa příkazů

Když objekt tohoto typu obdrží příkaz . . . Dává sobě a dalším objektům cíle příkazů šanci zpracovat příkaz v tomto pořadí:
Okno s rámečkem MDI (CMDIFrameWnd) 1. Aktivní CMDIChildWnd
2. Toto okno rámečku
3. Aplikace (CWinApp objekt)
Okno rámečku dokumentu (CFrameWnd, CMDIChildWnd) 1. Aktivní zobrazení
2. Toto okno rámečku
3. Aplikace (CWinApp objekt)
Zobrazení 1. Toto zobrazení
2. Dokument připojený k zobrazení
Dokument 1. Tento dokument
2. Šablona dokumentu připojená k dokumentu
Dialogové okno 1. Toto dialogové okno
2. Okno, které vlastní dialogové okno
3. Aplikace (CWinApp objekt)

Kde očíslované položky ve druhém sloupci předchozí tabulky uvádějí jiné objekty, například dokument, viz odpovídající položka v prvním sloupci. Když například přečtete ve druhém sloupci, že zobrazení předá příkaz do dokumentu, podívejte se na položku Dokument v prvním sloupci a pokračujte směrováním.

Viz také

Jakým způsobem volá framework obslužnou rutinu