Text stavového řádku podokno aktualizace
Tento článek popisuje, jak změnit text, který se zobrazí v podokně panelu Stav MFC.Stavový řádek – okno objekt třídy CStatusBar – obsahuje několik "podoken." Každé podokno je obdélníkové oblasti stavového řádku, můžete zobrazit informace.Například mnoho aplikací zobrazuje stav CAPS LOCK, NUM LOCK a dalších klíčů v podoknech vpravo.Aplikace také často zobrazit informativní text v levém podokně (podokně 0), nazývaný "podokně zpráv." Například výchozí MFC stavového řádku používá v podokně zpráv zobrazí řetězec, vysvětlující aktuálně vybrané položky nebo na panelu nástrojů tlačítko.Obrázek v Stavových zobrazí stavový řádek aplikace vytvořené pomocí Průvodce aplikace MFC.
Ve výchozím nastavení neumožňuje MFC CStatusBar podokně při vytváření panelu.Panel aktivovat, musíte použít ON_UPDATE_COMMAND_UI makro pro každé podokno stav řádku a aktualizovat podoken.Protože podoken odeslat WM_COMMAND zprávy (nejsou jako tlačítka na panelu nástrojů), musíte zadat kód ručně.
Předpokládejme například, že má jedno podokno ID_INDICATOR_PAGE jako identifikátor příkazu a který obsahuje číslo aktuální stránky v dokumentu.Následující postup popisuje, jak vytvořit nové podokno ve stavovém řádku.
Vytvoření nové podokno
Definovat ID v podokně příkaz.
Na zobrazení nabídky, klepněte na tlačítko Zobrazení zdrojů.Zdroj projektu a klepněte na tlačítko Prostředku symboly.V dialogovém okně symboly zdrojů klepněte na tlačítko New.Zadejte název příkazu ID: například ID_INDICATOR_PAGE.Zadejte hodnotu ID nebo přijmout hodnoty navrhované v dialogovém okně symboly prostředku.Například pro ID_INDICATOR_PAGE, přijmout výchozí hodnotu.Zavřete dialogové okno zdroj symboly.
Definujte výchozí řetězec, který chcete zobrazit v podokně.
Otevřít zobrazení zdrojů, poklepejte na Tabulky řetězců v okně, které jsou uvedeny typy prostředků pro aplikaci.S Tabulky řetězců zvolte Otevřít editor Nový řetězec z Vložit nabídce.V okně Vlastnosti řetězce vyberte ID příkazu v podokně (například ID_INDICATOR_PAGE) a zadejte výchozí hodnotu řetězce, jako například "Stránka".Zavřete editor řetězce.(Nutné výchozí řetězec, aby nedošlo k chybě kompilátoru.)
Přidat do podokna ukazatelů pole.
V souboru MAINFRM.CPP, vyhledejte ukazatelů pole.Toto pole obsahuje ID příkazu pro všechny ukazatele na stavovém řádku, v pořadí zleva doprava.V odpovídajícím bodě v poli zadejte ID příkazu v podokně, jak je znázorněno zde pro ID_INDICATOR_PAGE:
static UINT indicators[] = { ID_SEPARATOR, // status line indicator ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, ID_INDICATOR_PAGE, };
Doporučený způsob zobrazení textu v podokně je volání SetText členské funkce třídy CCmdUI v funkci aktualizace obslužnou rutinu pro podokno.Chcete-li například nastavit proměnná typu integer m_nPage číslo aktuální stránky a použití, který obsahuje SetText nastavit na řetězec verze tohoto čísla v podokně textu.
[!POZNÁMKA]
SetText přístup je doporučeno.Je možné provést tento úkol na poněkud nižší úrovni voláním CStatusBar členské funkce SetPaneText.I tak je třeba obslužnou rutinu aktualizace.Bez těchto obsluhu podokna MFC automaticky zakáže v podokně mazání jeho obsahu.
Následující postup ukazuje, jak používat funkci zpracování aktualizaci zobrazení textu v podokně.
Aby podokně zobrazení textu
Přidáte příkaz update ovladač pro příkaz.
Ruční přidání prototypu pro obsluhu, jak je znázorněno zde pro ID_INDICATOR_PAGE (v MAINFRM.H):
afx_msg void OnUpdatePage(CCmdUI *pCmdUI);
V odpovídajícím.CPP soubor, jak je zde uvedeno pro přidání definice popisovač ID_INDICATOR_PAGE (v MAINFRM.CPP):
void CMainFrame::OnUpdatePage(CCmdUI *pCmdUI) { pCmdUI->Enable(); CString strPage; strPage.Format(_T("Page %d"), m_nPage); pCmdUI->SetText(strPage); }
Poslední tři řádky této rutiny jsou kód, který zobrazí text.
V mapě odpovídající zprávy přidat ON_UPDATE_COMMAND_UI makro, jak je znázorněno zde pro ID_INDICATOR_PAGE (v MAINFRM.CPP):
ON_UPDATE_COMMAND_UI(ID_INDICATOR_PAGE, &CMainFrame::OnUpdatePage)
Po definování hodnoty m_nPage členské proměnné (třídy CMainFrame), tento postup způsobuje číslo stránky se zobrazí v podokně během nečinnosti zpracování stejným způsobem, že aktualizuje aplikace dalších ukazatelů.Pokud m_nPage změny, změny zobrazení během nečinnosti další smyčky.