Udostępnij za pośrednictwem


Dostosowywanie powiadomień obsługi

Formant wspólnych narzędzi systemu Windows ma dostosowywania wbudowanych funkcji, w tym okno dialogowe Dostosowywanie zdefiniowanych w systemie, które pozwalają użytkownikowi na wstawianie, usunąć lub zmienić rozmieszczenie przycisków paska narzędzi.Aplikacja określa, czy funkcje dostosowywania są dostępne i kontroluje zakres, do którego użytkownik może dostosować pasek narzędzi.

Można udostępnić te funkcje dostosowywania do użytkownika przez nadanie pasek narzędzi CCS_ADJUSTABLE styl.Funkcje dostosowywania umożliwia użytkownikowi, przeciągnij przycisk do nowego położenia lub usunąć przycisk, przeciągając go poza pasek narzędzi.Ponadto użytkownik może kliknąć dwukrotnie pasek narzędzi, aby wyświetlić Dostosuj pasek narzędzi dialogowe, które pozwala użytkownikowi na dodawanie, usuwanie i ponowne rozmieszczanie przycisków paska narzędzi.Aplikacja może wyświetlić okno dialogowe za pomocą Dostosuj funkcji składowej.

Formantu toolbar wysyła wiadomości powiadomień do okna nadrzędnego w każdym kroku procesu dostosowywania.Jeśli użytkownik posiada klawisz SHIFT w dół, rozpocznie przeciąganie przycisk paska narzędzi automatycznie obsługuje operacji przeciągania.Pasek narzędzi wysyła TBN_QUERYDELETE komunikat z powiadomieniem do okna nadrzędnego, aby ustalić, czy przycisk może być usunięty.Operacja przeciągnij kończy się, jeśli okno nadrzędne zwraca FALSE.W przeciwnym razie paska narzędzi przechwytuje myszą i oczekuje na użytkownika zwolnić przycisk myszy.

Gdy użytkownik zwolni przycisk myszy, formantu toolbar określa położenie kursora myszy.Jeśli kursor znajduje się poza pasek narzędzi, przycisk jest usuwany.Jeśli kursor znajduje się na inny przycisk paska narzędzi, paska narzędzi wysyła TBN_QUERYINSERT komunikat z powiadomieniem do okna nadrzędnego, aby ustalić, jeśli przycisk może być wstawiony po lewej stronie danego przycisku.Przycisk jest wstawiany, jeżeli okno nadrzędne zwraca TRUE; w przeciwnym razie nie jest.Pasek narzędzi wysyła TBN_TOOLBARCHANGE komunikat z powiadomieniem do sygnalizowania zakończenia operacji przeciągania.

Jeśli użytkownik rozpocznie operację przeciągania bez przytrzymując klawisz SHIFT, wysyła formantu toolbar TBN_BEGINDRAG komunikat z powiadomieniem do okna właściciela.Aplikacja, która implementuje własny kod przeciągania przycisku można użyć tej wiadomości jako sygnał do rozpoczęcia operacji przeciągania.Pasek narzędzi wysyła TBN_ENDDRAG komunikat z powiadomieniem do sygnalizowania zakończenia operacji przeciągania.

Formantu toolbar wysyła wiadomości powiadomień, gdy użytkownik dostosowuje pasek narzędzi, za pomocą Dostosuj pasek narzędzi okno dialogowe.Pasek narzędzi wysyła TBN_BEGINADJUST komunikat z powiadomieniem po użytkownik kliknie dwukrotnie pasek narzędzi, ale zanim okno dialogowe jest tworzone pole.Następnie paska narzędzi rozpoczyna wysyłanie serii TBN_QUERYINSERT wiadomości powiadomień, aby ustalić, czy przyciski dodaje się zezwala na pasku narzędzi.Gdy okno nadrzędne zwraca TRUE, pasek narzędzi zatrzymuje wysyłanie TBN_QUERYINSERT wiadomości powiadomień.Jeśli okno nadrzędne nie zwraca TRUE na dowolnym przycisku paska narzędzi niszczy okno dialogowe.

Następnie formantu toolbar Określa, jeżeli wszystkie przyciski mogą zostać usunięte z paska narzędzi, wysyłając jedną TBN_QUERYDELETE komunikat z powiadomieniem dla każdego przycisku na pasku narzędzi.Okno nadrzędne zwraca TRUE , aby wskazać, że przycisk mogą zostać usunięte; w przeciwnym razie zwraca FALSE.Pasek narzędzi dodaje wszystkie przyciski paska narzędzi w oknie dialogowym, ale grays tych, które nie mogą zostać usunięte.

W każdym przypadku, gdy formantu toolbar potrzebuje informacji o przycisku w oknie dialogowym Dostosuj pasek narzędzi, wysyła on TBN_GETBUTTONINFO komunikat z powiadomieniem, określając indeksu przycisk, dla którego potrzebuje informacji i adres TBNOTIFY struktury.Okno nadrzędne musi wypełnić strukturę istotne informacje.

Dostosuj pasek narzędzi okno dialogowe zawiera przycisk Pomoc, a przycisk Resetuj.Po wybraniu przycisku Pomoc formantu toolbar wysyła TBN_CUSTHELP komunikat z powiadomieniem.Okno nadrzędne powinny reagować, wyświetlając informacje pomocy.Okno dialogowe wysyła TBN_RESET komunikat z powiadomieniem, gdy użytkownik wybierze przycisk Resetuj.Ten komunikat sygnalizuje, że pasek narzędzi jest około zainicjować okna dialogowego.

Te komunikaty są wszystkie WM_NOTIFY wiadomości i ich można obsługiwać w oknie właściciela, przez dodanie wpisów mapy wiadomość następującą postać mapy komunikat okna właściciela:

ON_NOTIFY( wNotifyCode, idControl, memberFxn )

  • wNotifyCode
    Powiadomienie takie jak wiadomości kod identyfikatora TBN_BEGINADJUST.

  • idControl
    Identyfikator formantu, wysyłanie powiadomień.

  • memberFxn
    Funkcja Członkowskich ma być wywoływana po otrzymaniu tej notyfikacji.

Funkcji Członkowskich będzie zadeklarowane z następującym prototypie:

afx_msg void memberFxn( NMHDR * pNotifyStruct, LRESULT * result );

Jeśli program obsługi komunikat z powiadomieniem zwraca wartość, powinno umieścić go LRESULT wskazywanej przez wynik.

Dla każdej wiadomości pNotifyStruct wskazuje albo NMHDR struktury lub TBNOTIFY struktury.Struktury te są opisane poniżej:

NMHDR struktura zawiera następujące elementy:

typedef struct tagNMHDR {

HWND hwndFrom; // handle of control sending message

UINT idFrom;// identifier of control sending message

UINT code; // notification code; see below

} NMHDR;

  • hwndFrom
    Uchwyt okna formantu, który wysyła powiadomienie.Aby przekonwertować ten uchwyt, aby CWnd wskaźnik, użyj CWnd::FromHandle.

  • idFrom
    Identyfikator formantu, wysyłanie powiadomień.

  • Kod
    Kod powiadomienia.Ten element może być wartość określonego typu formantu, takie jak TBN_BEGINADJUST lub TTN_NEEDTEXT, lub może być jedną wspólnych wartości powiadamiania, wymienionych poniżej:

    • NM_CLICK po kliknięciu lewym przyciskiem myszy wewnątrz formantu.

    • NM_DBLCLK użytkownika został kliknięty dwukrotnie lewym przyciskiem myszy wewnątrz formantu.

    • NM_KILLFOCUS formant traci fokus wprowadzania.

    • NM_OUTOFMEMORY formantu nie można ukończyć operacji, ponieważ brak wystarczającej ilości pamięci.

    • NM_RCLICK po kliknięciu prawym przyciskiem myszy wewnątrz formantu.

    • NM_RDBLCLK użytkownika został kliknięty dwukrotnie prawym przyciskiem myszy wewnątrz formantu.

    • NM_RETURN formant ma fokus, a użytkownik nacisnął klawisz ENTER.

    • NM_SETFOCUS kontroli otrzymała fokus.

TBNOTIFY struktura zawiera następujące elementy:

typedef struct {

NMHDR hdr; // information common to all WM_NOTIFY messages

int iItem; // index of button associated with notification

TBBUTTON tbButton; // info about button associated withnotification

int cchText; // count of characters in button text

LPSTR lpszText;// address of button text

} TBNOTIFY, FAR* LPTBNOTIFY;

Uwagi

  • HDR
    Wspólne dla wszystkich informacji WM_NOTIFY wiadomości.

  • Towaru
    Indeks przycisku skojarzony z powiadomień.

  • tbButton
    TBBUTTONStruktura, zawierający informacje o przycisku paska narzędzi zgłoszeniem.

  • cchText
    Liczba znaków w tekście przycisku.

  • lpszText
    Wskaźnik myszy na przycisku tekst.

Powiadomienia, które wysyła na pasku narzędzi są następujące:

  • TBN_BEGINADJUST wysyłane, gdy użytkownik rozpocznie Dostosowywanie formantu toolbar.Wskaźnik wskazuje na NMHDR strukturę, która zawiera informacje dotyczące powiadomienia.Program obsługi nie trzeba zwrócić wszelkie określoną wartość.

  • TBN_BEGINDRAG wysyłane, gdy użytkownik rozpocznie przeciąganie przycisk w formancie toolbar.Wskaźnik wskazuje na TBNOTIFY struktury.Towaru Członkowskich zawiera wyświetlanego przycisku przeciągania.Program obsługi nie trzeba zwrócić wszelkie określoną wartość.

  • TBN_CUSTHELP wysyłane, gdy użytkownik wybierze przycisk Pomoc w oknie dialogowym Dostosuj pasek narzędzi.Nie zwraca wartości.Wskaźnik wskazuje na NMHDR strukturę, która zawiera informacje o komunikat z powiadomieniem.Program obsługi nie trzeba zwrócić wszelkie określoną wartość.

  • TBN_ENDADJUST wysyłane, gdy użytkownik zakończy dostosowywanie formantu toolbar.Wskaźnik wskazuje na NMHDR strukturę, która zawiera informacje o komunikat z powiadomieniem.Program obsługi nie trzeba zwrócić wszelkie określoną wartość.

  • TBN_ENDDRAG wysyłane, gdy użytkownik przestanie przeciągać przycisk w formancie toolbar.Wskaźnik wskazuje na TBNOTIFY struktury.Towaru Członkowskich zawiera wyświetlanego przycisku przeciągania.Program obsługi nie trzeba zwrócić wszelkie określoną wartość.

  • TBN_GETBUTTONINFO wysyłane, gdy użytkownik jest Dostosowywanie formantu toolbar.Pasek narzędzi używa tej komunikat z powiadomieniem do pobierania informacji wymaganych przez okno dialogowe Dostosuj pasek narzędzi.Wskaźnik wskazuje na TBNOTIFY struktury.Towaru Członkowskich określa wyświetlanego przycisku.PszText i cchText członków Określ adres i długość, w znakach bieżącego tekstu przycisku.Wniosek należy wypełnić strukturę z informacjami o przycisku.Zwraca TRUE , jeśli informacje o przycisku został skopiowany do struktury, lub FALSE inaczej.

  • TBN_QUERYDELETE wysłane w czasie, gdy użytkownik jest dostosowywanie paska narzędzi, aby ustalić, czy przycisk mogą zostać usunięte z formantu toolbar.Wskaźnik wskazuje na TBNOTIFY struktury.Towaru Członkowskich zawiera wyświetlanego przycisku do usunięcia.Zwraca TRUE zezwalająca na przycisku, które mają zostać usunięte lub FALSE , aby zapobiec usuwaniu przycisku.

  • TBN_QUERYINSERT wysłane w czasie, gdy użytkownik jest Dostosowywanie formantu toolbar, aby ustalić, czy przycisk może być wstawiony po lewej stronie danego przycisku.Wskaźnik wskazuje na TBNOTIFY struktury.Towaru Członkowskich zawiera wyświetlanego wstawić przycisk.Zwraca TRUE umożliwiające przycisk ma zostać wstawiony na początku danego przycisku lub FALSE Aby zapobiec wstawiany przycisku.

  • TBN_RESET wysyłane, gdy użytkownik resetuje zawartość okna dialogowego Dostosuj pasek narzędzi.Wskaźnik wskazuje na NMHDR strukturę, która zawiera informacje o komunikat z powiadomieniem.Program obsługi nie trzeba zwrócić wszelkie określoną wartość.

  • TBN_TOOLBARCHANGE wysyłane po użytkownik zmodyfikował formantu toolbar.Wskaźnik wskazuje na NMHDR strukturę, która zawiera informacje o komunikat z powiadomieniem.Program obsługi nie trzeba zwrócić wszelkie określoną wartość.

Zobacz też

Informacje

Przy użyciu CToolBarCtrl

Koncepcje

Formanty (MFC)