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:
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.CMFCEditBrowseCtrl
Osadź obiekt lub obiekt kontrolki przeglądania edycji pochodnej w obiekcie okna nadrzędnego.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 zCEdit
naCMFCEditBrowseCtrl
. 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 jejCreate
metodę.Jeśli dodasz kontrolkę przeglądania edycji do okna dialogowego, użyj narzędzia ClassWizard , aby skonfigurować wymianę danych.
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.
Aby udostępnić obraz niestandardowy dla przycisku przeglądania, wywołaj metodę SetBrowseButtonImage lub zastąpij metodę OnDrawBrowseButton .
Aby usunąć przycisk przeglądania z kontrolki przeglądania edycji, wywołaj metodę EnableBrowseButton z parametrem bEnable ustawionym na FALSE.
Hierarchia dziedziczenia
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.