Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użytkownik może bezpośrednio edytować etykiety elementów w kontrolce drzewa (CTreeCtrl), która ma styl TVS_EDITLABELS . Użytkownik rozpoczyna edycję, klikając etykietę elementu, który ma fokus. Aplikacja rozpoczyna edytowanie przy użyciu funkcji składowej EditLabel . Kontrolka drzewa wysyła powiadomienie po rozpoczęciu edycji i po anulowaniu lub zakończeniu. Po zakończeniu edycji odpowiadasz za aktualizowanie etykiety elementu, jeśli jest to konieczne.
Kontrolka drzewa wysyła komunikat powiadomienia TVN_BEGINLABELEDIT na początku edytowania etykiety. Przetwarzając to powiadomienie, możesz zezwolić na edytowanie niektórych etykiet i uniemożliwić edytowanie innych. Zwracanie wartości 0 umożliwia edycję i zwracanie wartości nonzero uniemożliwia jej używanie.
Po anulowaniu lub zakończeniu edytowania etykiety kontrolka drzewa wysyła komunikat TVN_ENDLABELEDIT. Parametr lParam jest adresem struktury NMTVDISPINFO . Członek elementu jest strukturą TVITEM, która identyfikuje element i zawiera edytowany tekst. Użytkownik jest odpowiedzialny za aktualizowanie etykiety elementu, jeśli jest to konieczne, być może po zweryfikowaniu edytowanego ciągu. Element pszText elementu TV_ITEM jest równy 0, jeśli edytowanie zostało anulowane.
Podczas edytowania etykiet zazwyczaj w odpowiedzi na komunikat powiadomienia TVN_BEGINLABELEDIT można uzyskać wskaźnik do kontrolki edycji używanej do edycji etykiet przy użyciu funkcji składowej GetEditControl . Możesz wywołać funkcję składową SetLimitText pola edycji, aby ograniczyć ilość tekstu, którą użytkownik może wprowadzić, lub dokonać modyfikacji pola edycji w celu przechwycenia i odrzucenia nieprawidłowych znaków. Należy jednak pamiętać, że kontrolka edycji jest wyświetlana dopiero powysłaniu TVN_BEGINLABELEDIT .