Uwaga ta opisuje implementacje standardowe polecenia, świadczone przez MFC 2.0. Należy najpierw przeczytać technicznych Uwaga 21 , ponieważ który opisano mechanizmy używane do realizacji wielu standardowych poleceń.
Opis ten zakłada wiedzę na temat architektury MFC, API i powszechną praktyką programowania. Udokumentowane, jak również nieudokumentowane "wdrażanie tylko" API są opisane. Nie jest to miejsce, aby rozpocząć Dowiedz się więcej o funkcji lub jak programować w MFC. Można znaleźć w Visual C++ Programmer's Guide , aby uzyskać informacje ogólne i szczegółowe udokumentowanych interfejsów API.
Problem
MFC definiuje wiele identyfikatorów standardowe polecenia w pliku nagłówka AFXRES.H. ramy wsparcia dla tych poleceń jest różna. Zrozumienie, gdzie i w jaki sposób klas ramy obsługiwać te będą poleceń, nie tylko pokazać jak ramach działa wewnętrznie, ale będzie dostarczyć użytecznych informacji na temat dostosowywania standardowe implementacji i miejmy nadzieję teach you kilka metod wykonywania własnej obsługi polecenia.
Zawartość ta Uwaga techniczna
Każdy identyfikator polecenia jest opisany w dwie sekcje:
Większość implementacji polecenia domyślne są prewired w ramach klasy podstawowej wiadomości mapę. Istnieje kilka implementacji polecenia, które wymagają wyraźnego okablowania w klasie pochodnej. Są one opisane w "Uwaga". W przypadku wybrania opcji prawe w AppWizard tych obsługi domyślne zostaną połączone dla Ciebie generowanych aplikacji szkielet.
Konwencja nazewnictwa
Standardowe polecenia Wykonaj prosty konwencji nazewnictwa, która zaleca się, że używasz, jeśli jest to możliwe. Najbardziej standardowe polecenia znajdują się w standardowych miejscach w pasku menu aplikacji. Nazwa symboliczna polecenia zaczyna się od "ID_", po której następuje nazwa menu podręczne standardowe, następuje nazwa elementu menu. Nazwa symboliczna jest pisany wielkimi literami z podziałom słów podkreślenia. Dla poleceń, które nie mają nazwy elementów standardowego menu Nazwa polecenia logiczne jest zdefiniowany, począwszy od "ID_" (na przykład ID_NEXT_PANE).
Używamy prefiksu „ID_"wskazaniu polecenia, które są zobowiązani do elementów menu, przyciski paska narzędzi lub inne obiekty poleceń interfejsu użytkownika. Polecenie obsługi obsługa polecenia "ID_" należy użyć mechanizmy ON_COMMAND i ON_UPDATE_COMMAND_UI architektury polecenia MFC.
Zaleca się, że używasz standardowego prefiksu "IDM_" dla elementów menu, które nie wykonaj polecenie architektury i potrzeby kod specyficzny dla menu Włącz i wyłącz je. Oczywiście liczba konkretnych poleceń menu powinny być małe ponieważ po architektury polecenia MFC nie tylko umożliwia polecenie obsługi bardziej wydajne (ponieważ będą one działać z paski narzędzi), ale powoduje, że kod obsługi polecenia jest wielokrotnego użytku.
Zakresy identyfikatorów
Odsyłamy do technicznych 20 Uwaga więcej informacji na temat używania zakresy identyfikatorów w MFC.
Standardowe polecenia MFC mieszczą się w zakresie od 0xE000 do 0xEFFF. Proszę nie polegać na określonych wartości te identyfikatory ponieważ są one mogą zostać zmienione w przyszłych wersjach biblioteki.
Aplikacja powinna określić polecenia w zakresie 0x8000 do 0xDFFF.
Standardowe polecenia identyfikatory
Dla każdego Identyfikatora polecenia istnieje ciąg szybkiej linii wiadomość standardową, który można znaleźć w pliku MONITY.RC. Identyfikator ciąg wyświetlany monit menu musi być taki sam, jak dla Identyfikatora polecenia.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
CWinApp::OnFileNew implementuje to polecenie różnie, w zależności od liczby szablony dokumentów w aplikacji. Jeśli istnieje tylko jeden CDocTemplate, CWinApp::OnFileNew spowoduje utworzenie nowego dokumentu tego rodzaju, jak również odpowiednie klasy ramki i widoku.
Jeśli istnieje więcej niż jeden CDocTemplate, CWinApp::OnFileNew będzie monitować użytkownika z okna dialogowego (AFX_IDD_NEWTYPEDLG), informując ich, wybierz typ dokumentu, które umożliwia. Wybrane CDocTemplate jest używany do tworzenia dokumentu.
Jedno wspólne dostosowywanie ID_FILE_NEW jest zapewnienie innego i większy wybór graficznego typów dokumentów. W takim przypadku można wdrożyć własną CMyApp::OnFileNew i umieścić ją w mapy wiadomości zamiast CWinApp::OnFileNew. Istnieje potrzeba wywołania Implementacja klasy podstawowej.
Innym wspólne dostosowywanie ID_FILE_NEW jest zapewnienie osobnego polecenia do tworzenia dokumentu każdego typu. W takim przypadku należy zdefiniować nowe polecenie identyfikatorów, na przykład ID_FILE_NEW_CHART i ID_FILE_NEW_SHEET.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
CWinApp::OnFileOpen jest bardzo prosty wykonania wywołania CWinApp::DoPromptFileName następuje CWinApp::OpenDocumentFile nazwą pliku lub ścieżkę pliku do otwarcia. CWinApp wdrożenia rutynowych DoPromptFileName otwiera standardowe okno dialogowe FileOpen i wypełnia je z rozszerzeniami plików otrzymanych od bieżącego szablony dokumentów.
Jedno wspólne dostosowywanie ID_FILE_OPEN jest dostosować okna dialogowego FileOpen lub dodać filtry dodatkowych plików. Zalecany sposób dostosować ma zastąpić Domyślna implementacja własnych oknach FileOpen i wywołać CWinApp::OpenDocumentFile z pliku dokumentu lub nazwa ścieżki. Istnieje potrzeba wywołania klasy podstawowej.
CDocument::OnFileClose wzywa CDocument::SaveModified na monitowanie użytkownika o zapisanie dokumentu, jeśli został zmodyfikowany, a następnie wywołuje OnCloseDocument. Wszystkie logiki zamknięcia, łącznie z zniszczenia dokumentu, odbywa się w rutynowych OnCloseDocument.
Uwaga ID_FILE_CLOSE działa inaczej od wiadomość Polecenie WM_CLOSE zostało lub polecenia systemu SC_CLOSE wysłane do okna ramki dokumentów. Zamknięcie okna będzie zamknąć dokument, tylko wtedy, gdy jest ostatnim oknie ramki wykazujące dokumentu. ID_FILE_CLOSE zamykając dokument nie będzie tylko Zamknij dokument, ale będzie zamknąć wszystkie okna ramki wykazujące dokumentu.
Wdrożenie używa rutynowych pomocnik CDocument::DoSave , która jest używana zarówno OnFileSave , jak i OnFileSaveAs. Jeśli zapisujesz dokument, który nie został zapisany przed (oznacza to, że nie ma nazwy ścieżki, jak w przypadku o nowy plik) lub która została odczytana z dokumentem tylko do odczytu, logiki OnFileSave będzie działać jak polecenie ID_FILE_SAVE_AS i poprosić o podaj nową nazwę pliku. Rzeczywisty proces otwierania pliku i spowoduje zapisywanie odbywa się poprzez funkcję wirtualnego OnSaveDocument.
Istnieją dwie Najczęstsze powody aby dostosować ID_FILE_SAVE. W przypadku dokumentów, które nie zostaną zapisane po prostu usunąć ID_FILE_SAVE elementów menu i przyciski paska narzędzi interfejsu użytkownika. Również upewnić się, że nigdy nie dirty dokumentu (oznacza to, że nigdy nie wywołanie CDocument::SetModifiedFlag) i ramach nigdy nie spowoduje dokumentu, który ma zostać zapisany. W przypadku dokumentów, które zapisać wiadomo gdzie inne niż plik dyskowy, definiowanie nowego polecenia dla tej operacji.
W przypadku COleServerDoc ID_FILE_SAVE jest używana, zarówno dla pliku Zapisz (dla normalnej dokumenty) i plik aktualizacji (dla osadzonych dokumentów).
Jeśli dane dokumentu są przechowywane w plikach poszczególnych dysku, ale nie chcesz użyć domyślnego CDocument serializować wykonania, należy zastąpić CDocument::OnSaveDocument zamiast OnFileSave.
Wdrożenie CDocument::OnFileSaveAs używa tych samych rutynowych pomocnik CDocument::DoSave jako OnFileSave. Polecenia OnFileSaveAs jest obsługiwany tylko jako ID_FILE_SAVE , gdyby dokumenty nie nazwy pliku przed Zapisz. COleServerDoc::OnFileSaveAs implementuje logiki do zapisania pliku danych normalnego dokumentu lub do zapisywania dokumentu serwera reprezentujące obiekt OLE osadzonych w niektórych innych aplikacji w oddzielnym pliku.
Jeśli możesz dostosować logiki ID_FILE_SAVE, prawdopodobnie trzeba dostosować ID_FILE_SAVE_AS w podobny sposób lub operacji "Zapisz jako" mogą nie mieć zastosowania do dokumentu. Można usunąć element menu z paska menu, jeśli nie jest potrzebna.
Wdrożenie COleServerDoc::OnFileSaveCopyAs jest bardzo podobny do CDocument::OnFileSaveAs, z zastrzeżeniem, że obiekt dokumentu nie jest "dołączony" w podstawowym pliku po Zapisz. Oznacza to, że jeśli dokument w pamięci "zmodyfikowano" przed Zapisz, jest on nadal "zmodyfikowany". Ponadto polecenie to nie ma wpływu na nazwę ścieżki lub tytuł przechowywane w dokumencie.
Wdrożenie COleServerDoc::OnUpdateDocument notifiies po prostu kontener, w którym osadzanie, powinny być zapisywane. Kontener następnie wywołuje odpowiednie OLE API w celu zapisania obiektu osadzonego.
Obecnie nie istnieje żaden standard dla tego okna dialogowego i ramach ma nie Domyślna implementacja tego polecenia.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
To polecenie wywołuje okno dialogowe standardowe ustawienia wydruku, który pozwala użytkownikowi dostosować drukarki i ustawienia dla druku co najmniej tego dokumentu lub co najwyżej wszystkich dokumentów tej aplikacji. Aby zmienić domyślne ustawienia drukarki dla całego systemu musi użyć panelu sterowania.
CWinApp::OnFilePrintSetup jest bardzo proste wdrożenie utworzenie obiektu CPrintDialog i wywołanie funkcji wykonywania CWinApp::DoPrintDialog . Ustawia ustawienia drukarki domyślnej aplikacji.
Wspólne potrzeby dostosowywania tego polecenia jest umożliwienie dla ustawień drukarki dla dokumentu, które powinny być przechowywane razem z dokumentem podczas zapisywania. W tym celu należy dodać obsługi wiadomości mapę w klasie CDocument , który tworzy obiekt CPrintDialog , inicjuje atrybuty drukarki odpowiednich (zazwyczaj pole hDevMode i hDevNames), wywołania CPrintDialog::DoModal i zapisać ustawienia drukarki zmienionych. Wykonywania niezawodne powinieneś spojrzeć na realizację CWinApp::DoPrintDialog wykrywania błędów i CWinApp::UpdatePrinterSelection zajmującymi się sensownym domyślne i śledzenia zmian systemowe drukarki.
Uwaga Musi to podłączyć do sieci CView-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
To polecenie drukuje bieżący dokument lub więcej poprawnie, rozpoczyna się proces drukowania, który obejmuje wywoływanie standardowe okno dialogowe wydruku i uruchomienie silnika wydruku.
CView::OnFilePrint implementuje to polecenie i główna pętla wydruku. Wywołuje wirtualnego CView::OnPreparePrinting na monitowanie użytkownika z okna dialogowego Drukowanie. On następnie pracy użytkownik przygotowuje dane wyjściowe DC pójść do drukarki, wywołuje drukarskie dialogowe postępu (AFX_IDD_PRINTDLG) i wysyła do drukarki, ewakuacji StartDoc . CView::OnFilePrint zawiera również główna pętla wydruku zorientowane na stronie. Dla każdej strony wywołuje wirtualnego CView::OnPrepareDC następuje ewakuacji StartPage elementu i wywoływania wirtualnego CView::OnPrint dla tej strony. Po zakończeniu nazywa się wirtualnego CView::OnEndPrinting i drukowania okno postępu jest zamknięte.
Architektura drukowania MFC został zaprojektowany by podpiąć się na wiele różnych sposobów Podgląd wydruku i drukowania. Zwykle znajdziesz różne funkcje wykonać CView odpowiednie dla każdy zorientowane na stronie zadań drukowania. Tylko dla aplikacji, która używa drukarki wyjociowa zorientowanych na innych niż strony powinny znajdziesz potrzebę zastąpienia realizacji ID_FILE_PRINT.
Uwaga Musi to podłączyć do sieci CView-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
CView::OnFilePrintPreview uruchamia tryb podglądu wydruku, wywołując funkcję Pomocnik udokumentowane CView::DoPrintPreview. CView::DoPrintPreview jest głównym motorem pętli podglądu wydruku, podobnie jak OnFilePrint jest główny silnik drukowania pętli for.
Operacja Podgląd wydruku można dostosowywać na wiele sposobów przekazując różnych parametrów do DoPrintPreview. Prosimy przeczytaµ technicznych Uwaga 30, które omówiono niektóre szczegóły Podgląd wydruku i sposobach dostosowywania go.
CWinApp::OnUpdateRecentFileMenu jest aktualizacja obsługi interfejsu użytkownika polecenia, które jest jednym z bardziej zaawansowanych zastosowaniach mechanizmu ON_UPDATE_COMMAND_UI . W zasób menu należy definiować tylko element menu jednego z Identyfikatora ID_FILE_MRU_FILE1. Ten element menu pozostaje początkowo wyłączona.
Jako MRU w liście rośnie, więcej menu, które elementy są dodawane do listy. Standardowe domyślne wykonania CWinApp standardowe granicę cztery większość niedawno używane pliki. Można zmienić domyślne przez wywołanie CWinApp::LoadStdProfileSettings z wartością większy lub mniejszy. Na liście MRU jest przechowywana w aplikacji.Plik INI. Lista jest ładowany w aplikacji InitInstance funkcji, jeśli wywołanie LoadStdProfileSettingsi zapisaniu, kiedy aplikacja. MRU aktualizacji polecenia Interfejsu obsługi również przekonwertuje ścieżki bezwzględne ścieżki względne do wyświetlania menu Plik.
CWinApp::OnOpenRecentFile jest obsługa ON_COMMAND , które wykonuje rzeczywiste polecenia. Po prostu pobiera nazwę pliku z listy MRU i wywołania CWinApp::OpenDocumentFile, który wykonuje całą pracę otwarcia pliku i aktualizowanie listy MRU.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia przy użyciu CEdit::Clear. Polecenie jest wyłączona, jeśli nie istnieje żaden bieżący wybór.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
Jeśli wybierzesz wykonania tego polecenia, zaleca się używać tego identyfikatora polecenia. Zobacz przykładowy samouczek MFC BAZGROŁY przykładem implementacji.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia, która kopiuje zaznaczony tekst do Schowka jako CF_TEXT przy użyciu CEdit::Copy. Polecenie jest wyłączona, jeśli nie istnieje żaden bieżący wybór.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia, które Wycina zaznaczony tekst do Schowka jako CF_TEXT przy użyciu CEdit::Cut. Polecenie jest wyłączona, jeśli nie istnieje żaden bieżący wybór.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia, które wywołuje funkcję Pomocnik wykonania OnEditFindReplace i poprzednie ustawienia Znajdź/Zamień są przechowywane w zmiennych prywatnych realizacji. Klasa CFindReplaceDialog jest używana do zarządzania okno niemodalne do monitowania użytkownika.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia, która kopiuje bieżących danych schowka, zastępując zaznaczony tekst za pomocą CEdit::Paste. Polecenie jest wyłączona, jeśli nie ma żadnych CF_TEXT w Schowku.
COleClientDoc zawiera tylko obsługi interfejsu użytkownika polecenia aktualizacji dla tego polecenia. Jeśli Schowka nie zawiera zastosujesz elementu/obiektów OLE, polecenie będzie wyłączona. Użytkownik jest odpowiedzialny za pisanie obsługi dla rzeczywistej polecenia do rzeczywistego wklejanie. Jeżeli aplikacji OLE można również wkleić inne formaty, należy podać swoje własne polecenia programu obsługi interfejsu użytkownika aktualizacji w widoku lub dokument, (to znaczy gdzieś przed COleClientDoc w poleceniu docelowe routingu).
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Zastępowanie standardową implementacją OLE, użyj COleClientItem::CanPaste.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
COleDocument zawiera tylko obsługi interfejsu użytkownika polecenia aktualizacji dla tego polecenia. Jeśli Schowka nie zawiera linkable elementu/obiekt OLE, polecenie będzie wyłączona. Użytkownik jest odpowiedzialny za pisanie obsługi dla rzeczywistej polecenia do rzeczywistego wklejanie. Jeżeli aplikacji OLE można również wkleić inne formaty, należy podać swoje własne polecenia programu obsługi interfejsu użytkownika aktualizacji w widoku lub dokument, (to znaczy gdzieś przed COleDocument w poleceniu docelowe routingu).
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Zastępowanie standardową implementacją OLE, użyj COleClientItem::CanPasteLink.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy. MFC nie zapewnia to okno dialogowe.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację to polecenie, aby powtórzyć ostatnią operację wyszukiwania. Zmienne prywatne wykonania ostatniej Znajdź są używane. Polecenie jest wyłączona, jeśli nie można podjąć próbę Znajdź.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia, które wywołuje funkcję Pomocnik wykonania OnEditFindReplace i poprzednie ustawienia Znajdź/Zamień są przechowywane w zmiennych prywatnych realizacji. Klasa CFindReplaceDialog jest używana do zarządzania niemodalny okno dialogowe, monitujące użytkownika.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia, które zaznacza cały tekst w dokumencie. Polecenie jest wyłączona, jeśli nie istnieje żaden tekst, aby zaznaczyć.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
CEditView zapewnia implementację tego polecenia przy użyciu CEdit::Undo. Polecenie jest wyłączona, jeśli CEdit::CanUndo zwraca FALSE.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Musi to wykonania dla każdego CView-klasy.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
CMDIFrameWnd::OnWindowNew implementuje tej zaawansowanej funkcji przy użyciu szablonu dokumentu bieżącego dokumentu do utworzenia innej ramki zawierającej inny widok bieżącego dokumentu.
Podobnie jak większość wielu dokumentów interfejsu (MDI) okna poleceń menu polecenia jest wyłączona, jeśli istnieje nie aktywne okno potomne MDI.
Dostosowywanie ta obsługa polecenia nie jest zalecane. Jeśli chcesz zapewnić polecenia, który tworzy dodatkowe widoki lub ramka okna, prawdopodobnie będzie lepiej inventing własne polecenia. Można sklonować kod z CMDIFrameWnd::OnWindowNew i zmodyfikować go do konkretnej klasy ramki i widok własnych upodobań.
CMDIFrameWnd implementuje standardowe polecenie MDI w funkcję Pomocnik wykonania OnMDIWindowCmd. Ten pomocnik mapuje identyfikatory polecenia MDI Windows wiadomości i w związku z tym można udostępniać wiele kodu.
Podobnie jak większość poleceń menu okna MDI polecenie jest wyłączona, jeśli istnieje nie aktywne okno potomne MDI.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
CMDIFrameWnd implementuje standardowe polecenie MDI w funkcję Pomocnik wykonania OnMDIWindowCmd. Ten pomocnik mapuje identyfikatory polecenia MDI Windows wiadomości i w związku z tym można udostępniać wiele kodu.
Podobnie jak większość poleceń menu okna MDI polecenie jest wyłączona, jeśli istnieje nie aktywne okno potomne MDI.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
To polecenie jest zaimplementowana w CMDIFrameWnd podobnie jak ID_WINDOW_CASCADE, z wyjątkiem różnych oknach MDI wiadomości jest używany dla operacji.
Domyślna orientacja płytki należy wybrać dla aplikacji. Można to zrobić przez zmianę Identyfikatora dla elementu menu Okno "Sąsiadująco" do ID_WINDOW_TILE_HORZ lub ID_WINDOW_TILE_VERT.
To polecenie jest zaimplementowana w CMDIFrameWnd podobnie jak ID_WINDOW_CASCADE, z wyjątkiem różnych oknach MDI wiadomości jest używany dla operacji.
Domyślna orientacja płytki należy wybrać dla aplikacji. Można to zrobić przez zmianę Identyfikatora dla elementu menu Okno "Sąsiadująco" do ID_WINDOW_TILE_HORZ lub ID_WINDOW_TILE_VERT.
CView obsługuje polecenie do wykonania CSplitterWnd . Jeśli widok jest część okna rozdzielacza, to polecenie zostanie delegować do realizacji funkcji CSplitterWnd::DoKeyboardSplit. Będzie to miejsce rozdzielacza w tryb, który umożliwi użytkownicy klawiatury do podziału lub unsplit okno podziału.
To polecenie jest wyłączona, jeśli widok nie jest w rozdzielacza.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Nie ma żadnych standardowej implementacji aplikacji o pola. Domyślna aplikacja utworzona AppWizard będzie utworzyć klasę niestandardowe okna dialogowe dla aplikacji i używać go jako o polu. AppWizard również będzie zapisywać obsługi polecenia trywialna, który obsługuje to polecenie, a następnie wywołuje okno dialogowe.
Prawie zawsze będzie wykonania tego polecenia.
CWinApp::OnAppExit obsługuje to polecenie, wysyłając wiadomość Polecenie WM_CLOSE zostało do głównego okna aplikacji. Standardowe zamykanie aplikacji (monitowanie dla plików dirty itd.) jest obsługiwane przez wykonanie CFrameWnd.
Dostosowywanie ta obsługa polecenia nie jest zalecane. Zastępując CWinApp::SaveAllModified lub CFrameWnd zamknięcia logikę zaleca.
Jeśli wybierzesz wykonania tego polecenia, zaleca się że używasz ten identyfikator polecenia.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
CWinApp::OnHelpIndex obsługuje polecenie to trywialnie wywołując CWinApp::WinHelp.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
CWinApp::OnHelpUsing obsługuje polecenie to trywialnie wywołując CWinApp::WinHelp.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
CWinApp::OnContextHelp obsługuje polecenie to ustawienie kursora tryb pomocy, wprowadzając pętli modalnej i oczekiwanie na użytkownika wybierz okno, aby uzyskać pomoc na temat. Odsyłamy do technicznych 28 Uwaga więcej informacji na temat wdrażania pomocy MFC.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
CWinApp::OnHelp obsługuje polecenie przez wprowadzenie kontekstu prawo pomoc dla bieżącego kontekstu aplikacji. Ten obsługuje proste F1 Pomoc, pomoc na temat okna komunikatów i tak dalej. Odsyłamy do technicznych 28 Uwaga więcej informacji na temat wdrażania pomocy MFC.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Uwaga Musi to podłączyć do sieci CWinApp-pochodnych klasy wiadomości mapę aby włączyć tę funkcję.
Polecenie to zazwyczaj jest mapowany na CWinApp::OnHelpIndex.
Obsługi różnych poleceń można dostarczyć, w razie potrzeby rozróżnienia między Pomoc domyślna i indeks pomocy.
CView obsługuje polecenie do wykonania CSplitterWnd . Jeśli widok jest część okna rozdzielacza, to polecenie zostanie delegować do realizacji funkcji CSplitterWnd::OnNextPaneCmd. To polecenie spowoduje przeniesienie aktywnego widoku do następnego okienka w rozdzielacza.
To polecenie jest wyłączona, jeśli widok nie jest w rozdzielacza lub nie ma żadnych następnego okienka, aby przejść do.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
CView obsługuje polecenie do wykonania CSplitterWnd . Jeśli widok jest część okna rozdzielacza, to polecenie zostanie delegować do realizacji funkcji CSplitterWnd::OnNextPaneCmd. To polecenie spowoduje przeniesienie aktywnego widoku do poprzedniego okienka w rozdzielacza.
To polecenie jest wyłączona, jeśli widok nie jest w rozdzielacza lub istnieje nie poprzedniego okienka, aby przejść do.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Obecnie nie istnieje żadne standardowe wykonania tego polecenia. Należy zaimplementować to dla Twojej CView-klasy, aby wstawić nowy element/obiekt OLE na bieżące zaznaczenie.
Wszystkie aplikacje klienckie OLE powinny wprowadzać w życie tego polecenia. AppWizard, z opcją OLE spowoduje utworzenie szkielet realizacji OnInsertObject w klasie widoku, które trzeba będzie wykonać.
Zobacz przykładowy MFC OLE OCLIENT przykład dla pełnej realizacji tego polecenia.
COleDocument obsługi tego polecenia przy użyciu dostarczonych do MFC wykonania standardowe okno dialogowe łącza OLE. Realizację tego okna dialogowego jest dostępne za pośrednictwem klasy COleLinksDialog . Jeśli bieżący dokument nie zawiera żadnych łączy, polecenie jest wyłączona.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
COleDocument używa tego polecenia identyfikator zakresu dla zleceń obsługiwanych przez obecnie wybrany element/obiektu OLE. Musi to być zakres, od danego typu element/obiekt OLE można obsługiwać zero lub więcej niestandardowych zleceń. W menu aplikacji powinny mieć jeden element menu o identyfikatorze ID_OLE_VERB_FIRST. Po uruchomieniu programu menu zostanie zaktualizowany opis zlecenia odpowiednie menu (lub z wyskakującego menu z wielu zleceń). Zarządzanie OLE menu jest obsługiwany przez AfxOleSetEditMenu, sporządzono obsługi interfejsu użytkownika polecenia aktualizacji dla tego polecenia.
Istnieją nie obsługi wyraźne polecenia obsługi każdego identyfikatora polecenia w tym zakresie. COleDocument::OnCmdMsg jest zastąpiona zalewki wszystkie identyfikatory polecenia w tym zakresie, przekształcić je w numery zleceń od zera i uruchomić serwer dla tego zlecenia (za pomocą COleClientItem::DoVerb).
Dostosowywanie lub inne użycie tego polecenia identyfikator zakresu nie jest zalecane.
CFrameWnd obsługuje to polecenie i obsługi interfejsu użytkownika polecenia update, aby przełączyć widoczny stan paska narzędzi. Pasek narzędzi może być okno potomne ramki z dzieckiem okno identyfikator AFX_IDW_TOOLBAR. Obsługa polecenia przełącza faktycznie widoczności paska narzędzi okna. CFrameWnd::RecalcLayout jest używana do odświeżanie okna ramki z paska narzędzi w jego nowym Państwie. Obsługa interfejsu użytkownika polecenia update sprawdza elementu menu, kiedy pasek narzędzi jest widoczny.
Dostosowywanie ta obsługa polecenia nie jest zalecane. Jeśli chcesz dodać dodatkowe paski narzędzi, ma będą klonowanie i modyfikować obsługi polecenia i obsługi interfejsu użytkownika polecenia aktualizacji dla tego polecenia.
To polecenie jest zaimplementowana w CFrameWnd podobnie jak ID_VIEW_TOOLBAR, z wyjątkiem Identyfikatora okno różnych dziecko (AFX_IDW_STATUS_BAR) jest używany.
Tylko do aktualizacji obsługi polecenia
Istnieje kilka identyfikatorów standardowe polecenia, które są używane jako wskaźniki w paskach stanu. Używają one takie same polecenia update UI mechanizmu obsługi do wyświetlania ich bieżącego stanu wizualne podczas bezczynności aplikacji. Ponieważ nie może być wybrany przez użytkownika nie (oznacza to, że użytkownik może wypchnąć okienko Pasek stanu), wówczas nie ma sensu ma moduł obsługi ON_COMMAND te identyfikatory polecenia.
Wszystkie trzy z nich zostały zaimplementowane w CFrameWnd::OnUpdateKeyIndicator, pomocnik wykonania, która używa Identyfikatora polecenia, aby mapować do odpowiedniego klucza wirtualnego. Wspólne wdrażanie włącza lub wyłącza (okienkach stanu wyłączone = Brak tekstu) obiektu CCmdUI w zależności od tego, czy odpowiedni klucz wirtualny jest obecnie zablokowana.
Dostosowywanie ta obsługa polecenia nie jest zalecane.
Obecnie nie istnieje żadne standardowe wykonania tych wskaźników.
Jeśli wybierzesz do wdrożenia tych wskaźników, zaleca się stosować te identyfikatory wskaźnika i utrzymania, zamawiania wskaźników na pasku stanu (oznacza to, że w następującej kolejności: EXT, WPR, NUM, SCRL, zas, REC).
Uwagi techniczne przez liczbę |nbsp; Uwagi techniczne według kategorii