Udostępnij za pośrednictwem


Klasa CMFCEditBrowseCtrl

Klasa CMFCEditBrowseCtrl obsługuje kontrolkę przeglądania edycji, która jest edytowalnym polem tekstowym, które opcjonalnie zawiera przycisk przeglądania. Gdy użytkownik kliknie przycisk przeglądania, kontrolka wykonuje akcję niestandardową lub wyświetla standardowe okno dialogowe zawierające przeglądarkę plików lub przeglądarkę folderów.

Składnia

class CMFCEditBrowseCtrl : public CEdit

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CMFCEditBrowseCtrl::CMFCEditBrowseCtrl Konstruktor domyślny.
CMFCEditBrowseCtrl::~CMFCEditBrowseCtrl Destruktor.

Metody publiczne

Nazwa/nazwisko opis
CMFCEditBrowseCtrl::EnableBrowseButton Włącza lub wyłącza (ukrywa) przycisk przeglądania.
CMFCEditBrowseCtrl::EnableFileBrowseButton Włącza przycisk przeglądania i umieszcza kontrolkę przeglądania edycji w trybie przeglądania plików.
CMFCEditBrowseCtrl::EnableFolderBrowseButton Włącza przycisk przeglądania i umieszcza kontrolkę przeglądania edycji w trybie przeglądania folderów.
CMFCEditBrowseCtrl::GetMode Zwraca bieżący tryb przeglądania.
CMFCEditBrowseCtrl::OnAfterUpdate Wywoływana przez platformę po zaktualizowaniu kontrolki przeglądania edycji z wynikiem akcji przeglądania.
CMFCEditBrowseCtrl::OnBrowse Wywoływana przez platformę po kliknięciu przycisku przeglądania przez użytkownika.
CMFCEditBrowseCtrl::OnChangeLayout Ponownie rysuje bieżącą kontrolkę przeglądania edycji.
CMFCEditBrowseCtrl::OnDrawBrowseButton Wywoływana przez strukturę w celu narysowania przycisku przeglądania.
CMFCEditBrowseCtrl::OnIllegalFileName Wywoływana przez platformę, gdy w kontrolce edycji została wprowadzona niedozwolona nazwa pliku.
CMFCEditBrowseCtrl::PreTranslateMessage Tłumaczy komunikaty okien przed ich wysłaniem do funkcji TranslateMessage i DispatchMessage systemu Windows. Aby uzyskać składnię i więcej informacji, zobacz CWnd::P reTranslateMessage.
CMFCEditBrowseCtrl::SetBrowseButtonImage Ustawia obraz niestandardowy dla przycisku przeglądania.

Uwagi

Użyj kontrolki przeglądania edycji, aby wybrać nazwę pliku lub folderu. Opcjonalnie użyj kontrolki , aby wykonać akcję niestandardową, taką jak wyświetlanie okna dialogowego. Możesz wyświetlić lub nie wyświetlić przycisku przeglądania i zastosować etykietę niestandardową lub obraz na przycisku.

Tryb przeglądania kontrolki przeglądania edycji określa, czy wyświetla przycisk przeglądania i jaką akcję ma miejsce po kliknięciu przycisku. Aby uzyskać więcej informacji, zobacz metodę GetMode .

Klasa CMFCEditBrowseCtrl obsługuje następujące tryby.

  • tryb niestandardowy

    Akcja niestandardowa jest wykonywana po kliknięciu przycisku przeglądania przez użytkownika. Można na przykład wyświetlić okno dialogowe specyficzne dla aplikacji.

  • tryb pliku

    Gdy użytkownik kliknie przycisk przeglądania, zostanie wyświetlone standardowe okno dialogowe wyboru pliku.

  • tryb folderu

    Gdy użytkownik kliknie przycisk przeglądania, zostanie wyświetlone okno dialogowe wyboru folderu standardowego.

Instrukcje: określanie kontrolki przeglądania edycji

Wykonaj następujące kroki, aby uwzględnić kontrolkę przeglądania edycji w aplikacji:

  1. Jeśli chcesz zaimplementować niestandardowy tryb przeglądania, utwórz własną klasę z CMFCEditBrowseCtrl klasy, a następnie przesłoń metodę CMFCEditBrowseCtrl::OnBrowse . W metodzie przesłoniętej wykonaj niestandardową akcję przeglądania i zaktualizuj kontrolkę przeglądania edycji za pomocą wyniku.

  2. CMFCEditBrowseCtrl Osadź obiekt lub obiekt kontrolki przeglądania edycji pochodnej w obiekcie okna nadrzędnego.

  3. Jeśli do utworzenia okna dialogowego jest używany Kreator klas, dodaj kontrolkę edycji ( CEdit) do formularza okna dialogowego. Ponadto dodaj zmienną, aby uzyskać dostęp do kontrolki w pliku nagłówka. W pliku nagłówka zmień typ zmiennej z CEdit na CMFCEditBrowseCtrl. Kontrolka przeglądania edycji zostanie utworzona automatycznie. Jeśli nie używasz Kreatora klas, dodaj zmienną CMFCEditBrowseCtrl do pliku nagłówka, a następnie wywołaj jej Create metodę.

  4. Jeśli dodasz kontrolkę przeglądania edycji do okna dialogowego, użyj narzędzia ClassWizard , aby skonfigurować wymianę danych.

  5. Wywołaj metodę EnableFolderBrowseButton, EnableFileBrowseButton lub EnableBrowseButton, aby ustawić tryb przeglądania i wyświetlić przycisk przeglądania. Wywołaj metodę GetMode , aby uzyskać bieżący tryb przeglądania.

  6. Aby udostępnić obraz niestandardowy dla przycisku przeglądania, wywołaj metodę SetBrowseButtonImage lub zastąpij metodę OnDrawBrowseButton .

  7. Aby usunąć przycisk przeglądania z kontrolki przeglądania edycji, wywołaj metodę EnableBrowseButton z parametrem bEnable ustawionym na FALSE.

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

Przykład

W poniższym przykładzie pokazano, jak używać dwóch metod w CMFCEditBrowseCtrl klasie: EnableFolderBrowseButton i EnableFileBrowseButton. Ten przykład jest częścią przykładu Nowe kontrolki.

CMFCEditBrowseCtrl m_wndFolderEdit;
CMFCEditBrowseCtrl m_wndFileEdit;
// enable the browse button and put the control in file browse mode
m_wndFolderEdit.EnableFolderBrowseButton();
// enable the browse button and put the control in the folder browse mode
m_wndFileEdit.EnableFileBrowseButton();

Wymagania

Nagłówek: afxeditbrowsectrl.h

CMFCEditBrowseCtrl::EnableBrowseButton

Wyświetla lub nie wyświetla przycisku przeglądania w bieżącej kontrolce przeglądania edycji.

void EnableBrowseButton(
    BOOL bEnable=TRUE,
    LPCTSTR szLabel=_T("..."));

Parametry

bEnable
WARTOŚĆ TRUE, aby wyświetlić przycisk przeglądania; FAŁSZ, aby nie wyświetlać przycisku przeglądania. Wartość domyślna to TRUE.

szLabel
Etykieta wyświetlana na przycisku przeglądania. Wartość domyślna to " ...".

Uwagi

Jeśli parametr bEnable ma wartość TRUE, zaimplementuj akcję niestandardową do wykonania po kliknięciu przycisku przeglądania. Aby zaimplementować akcję niestandardową, należy utworzyć klasę z CMFCEditBrowseCtrl klasy, a następnie zastąpić jej metodę OnBrowse .

Jeśli parametr bEnable ma wartość TRUE, tryb przeglądania kontrolki to BrowseMode_Default; w przeciwnym razie tryb przeglądania to BrowseMode_None. Aby uzyskać więcej informacji na temat trybów przeglądania, zobacz metodę GetMode .

CMFCEditBrowseCtrl::EnableFileBrowseButton

Wyświetla przycisk przeglądania w bieżącej kontrolce przeglądania edycji i umieszcza kontrolkę w trybie przeglądania plików.

void EnableFileBrowseButton(
    LPCTSTR lpszDefExt=NULL,
    LPCTSTR lpszFilter=NULL,
    DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);

Parametry

lpszDefExt
Określa domyślne rozszerzenie nazwy pliku, które jest używane w oknie dialogowym wyboru pliku. Wartość domyślna to NULL.

lpszFilter
Określa domyślny ciąg filtru używany w oknie dialogowym wyboru pliku. Wartość domyślna to NULL.

dwFlags
Flagi okna dialogowego. Wartość domyślna to kombinacja bitowa (OR) OFN_HIDEREADONLY i OFN_OVERWRITEPROMPT.

Uwagi

Gdy kontrolka przeglądania edycji jest w trybie przeglądania plików, a użytkownik kliknie przycisk przeglądania, kontrolka wyświetla standardowe okno dialogowe wyboru pliku.

Aby uzyskać pełną listę dostępnych flag, zobacz struktura OPENFILENAME.

CMFCEditBrowseCtrl::EnableFolderBrowseButton

Wyświetla przycisk przeglądania w bieżącej kontrolce przeglądania edycji i umieszcza kontrolkę w trybie przeglądania folderów.

void EnableFolderBrowseButton();

Uwagi

Gdy kontrolka przeglądania edycji jest w trybie przeglądania folderów, a użytkownik kliknie przycisk przeglądania, kontrolka wyświetla standardowe okno dialogowe wyboru folderu.

CMFCEditBrowseCtrl::GetMode

Pobiera tryb przeglądania bieżącej kontrolki przeglądania edycji.

CMFCEditBrowseCtrl::BrowseMode GetMode() const;

Wartość zwracana

Jedna z wartości wyliczenia, która określa bieżący tryb kontrolki przeglądania edycji. Tryb przeglądania określa, czy platforma wyświetla przycisk przeglądania i jaką akcję ma miejsce po kliknięciu tego przycisku przez użytkownika.

W poniższej tabeli wymieniono możliwe wartości zwracane.

Wartość Opis
BrowseMode_Default tryb niestandardowy. Wykonywana jest akcja zdefiniowana przez programistę.
BrowseMode_File tryb pliku. Zostanie wyświetlone standardowe okno dialogowe przeglądarki plików.
BrowseMode_Folder tryb folderu. Zostanie wyświetlone okno dialogowe przeglądarki folderów standardowych.
BrowseMode_None Przycisk przeglądania nie jest wyświetlany.

Uwagi

Domyślnie CMFCEditBrowseCtrl obiekt jest inicjowany do BrowseMode_None trybu. Zmodyfikuj tryb przeglądania za pomocą metody CMFCEditBrowseCtrl::EnableBrowseButton, CMFCEditBrowseCtrl::EnableFileBrowseButton i CMFCEditBrowseCtrl::EnableFolderBrowseButton.

CMFCEditBrowseCtrl::OnAfterUpdate

Wywoływana przez platformę po zaktualizowaniu kontrolki przeglądania edycji z wynikiem akcji przeglądania.

virtual void OnAfterUpdate();

Uwagi

Zastąp tę metodę w klasie pochodnej, aby zaimplementować akcję niestandardową.

CMFCEditBrowseCtrl::OnBrowse

Wywoływana przez platformę po kliknięciu przycisku przeglądania przez użytkownika kontrolki przeglądania edycji.

virtual void OnBrowse();

Uwagi

Użyj tej metody, aby wykonać kod niestandardowy, gdy użytkownik kliknie przycisk przeglądania kontrolki przeglądania edycji. Utwórz własną klasę CMFCEditBrowseCtrl z klasy i przesłoń jej OnBrowse metodę. W tej metodzie zaimplementuj niestandardową akcję przeglądania i opcjonalnie zaktualizuj pole tekstowe kontrolki przeglądania edycji. W aplikacji użyj metody EnableBrowseButton , aby umieścić kontrolkę przeglądania edycji w trybie przeglądania niestandardowego.

CMFCEditBrowseCtrl::OnChangeLayout

Ponownie rysuje bieżącą kontrolkę przeglądania edycji.

virtual void OnChangeLayout();

Uwagi

Struktura wywołuje tę metodę, gdy tryb przeglądania zmian kontrolki przeglądania edycji. Aby uzyskać więcej informacji, zobacz CMFCEditBrowseCtrl::GetMode.

CMFCEditBrowseCtrl::OnDrawBrowseButton

Wywoływana przez strukturę w celu rysowania przycisku przeglądania w kontrolce przeglądania edycji.

virtual void OnDrawBrowseButton(
    CDC* pDC,
    CRect rect,
    BOOL bIsButtonPressed,
    BOOL bIsButtonHot);

Parametry

PDC
Wskaźnik do kontekstu urządzenia.

Rect
Prostokąt ograniczenia przycisku przeglądania.

bIsButtonPressed
WARTOŚĆ TRUE, jeśli przycisk jest naciśnięty; w przeciwnym razie, FAŁSZ.

bIsButtonHot
WARTOŚĆ TRUE, jeśli przycisk jest wyróżniony; w przeciwnym razie, FAŁSZ.

Uwagi

Zastąp tę funkcję w klasie pochodnej, aby dostosować wygląd przycisku przeglądania.

CMFCEditBrowseCtrl::SetBrowseButtonImage

Ustawia obraz niestandardowy na przycisku przeglądania kontrolki przeglądania edycji.

void SetBrowseButtonImage(
    HICON hIcon,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(UINT uiBmpResId);

Parametry

hIcon
Uchwyt ikony.

hBitmap
Uchwyt mapy bitowej.

uiBmpResId
Identyfikator zasobu mapy bitowej.

bAutoDestroy
WARTOŚĆ TRUE, aby usunąć określoną ikonę lub mapę bitową po zakończeniu tej metody; w przeciwnym razie, FAŁSZ. Wartość domyślna to TRUE.

Uwagi

Użyj tej metody, aby zastosować obraz niestandardowy do przycisku przeglądania. Domyślnie platforma uzyskuje standardowy obraz, gdy kontrolka przeglądania edycji jest w trybie przeglądania plików lub folderu.

CMFCEditBrowseCtrl::OnIllegalFileName

Wywoływana przez platformę, gdy w kontrolce edycji została wprowadzona niedozwolona nazwa pliku.

virtual BOOL OnIllegalFileName(CString& strFileName);

Parametry

strFileName
Określa niedozwoloną nazwę pliku.

Wartość zwracana

Jeśli ta nazwa pliku nie może zostać przekazana dalej do okna dialogowego pliku, powinna zostać zwrócona wartość FALSE. W takim przypadku fokus jest ustawiony z powrotem na kontrolkę edycji, a użytkownik powinien kontynuować edytowanie. Domyślna implementacja wyświetla pole komunikatu informujące użytkownika o nielegalnej nazwie pliku i zwraca wartość FALSE. Tę metodę można zastąpić, poprawić nazwę pliku i zwrócić wartość TRUE w celu dalszego przetwarzania.

Uwagi

Zobacz też

Wykres hierarchii
Klasy