Bieżące zaznaczenie

Bieżące zaznaczenie jest element listy, którą użytkownik wybrał; zaznaczony tekst zostanie wyświetlony w polu zaznaczenia pola kombi. Jednakże w przypadku z prostych kombi lub rozwijanego kombi, bieżące zaznaczenie jest tylko jeden formularz wprowadzania danych przez użytkownika możliwe w polu kombi. Użytkownika można także wpisać tekst w polu wyboru.

Bieżące zaznaczenie jest identyfikowany przez indeksu elementu listy wybrane. Aplikację można ustawiać i pobierać je w dowolnym momencie. Procedury pola okna lub okna dialogowego nadrzędnego otrzymywała powiadomienia, gdy użytkownik zmieni aktualne zaznaczenie w polu kombi. Pola okna lub okna dialogowego nadrzędnej nie jest powiadamiany, kiedy wniosek zmienia zaznaczenie.

Gdy tworzone jest pole kombi, istnieje nie bieżącego zaznaczenia. To samo dla pola kombi proste lub rozwijane, jeśli użytkownik ma edytować zawartość pola wyboru. Aby ustawić bieżącego zaznaczenia, aplikacja wysyła komunikat CB_SETCURSEL do pola kombi. Aplikację można również użyć wiadomości CB_SELECTSTRING aby ustawić bieżącego zaznaczenia elementu listy, którego ciąg rozpoczyna się od określonego ciągu. Aby określić bieżące zaznaczenie, aplikacja wysyła komunikat CB_GETCURSEL do pola kombi. W przypadku braku bieżącego zaznaczenia, ten komunikat zwraca CB_ERR.

Gdy użytkownik zmieni bieżące zaznaczenie w polu kombi, nadrzędny okno lub okno dialogowe procedury odbiera wiadomość WM_COMMAND z powiadomienie CBN_SELCHANGE w programie word wysokich numerach parametru wParam . To powiadomienie nie jest wysyłany, gdy bieżące zaznaczenie jest ustawiany za pomocą wiadomości CB_SETCURSEL.

Pola rozwijanego kombi lub pole listy rozwijanej wysyła powiadomienie CBN_CLOSEUP procedury okno lub okno dialogowe nadrzędnej, po zamknięciu listy rozwijanej. Jeśli użytkownik zmienił bieżącego zaznaczenia, pola kombi również wysyła powiadomienie CBN_SELCHANGE po zamknięciu listy rozwijanej. Aby wykonać określonego procesu za każdym razem, użytkownik zaznaczy element listy, może obsłużyć wiadomości z powiadomieniem CBN_SELCHANGE lub CBN_CLOSEUP. Zazwyczaj będzie czekać na zgłoszeniu CBN_CLOSEUP przed przetworzeniem zmianę bieżącego zaznaczenia. Może to być szczególnie ważne, jeśli wymagana jest znaczną część przetwarzania.

Aplikacja może również przetwarzać komunikaty powiadamiające, CBN_SELENDOK i CBN_SELENDCANCEL. System wysyła CBN_SELENDOK, gdy użytkownik zaznacza element listy lub zaznacza element, a następnie zamyka listę. Oznacza to użytkownik zakończy i zaznaczenie powinno być przetwarzane. CBN_SELENDCANCEL jest wysyłane, gdy użytkownik wybierze element, a następnie wybiera innego formantu, naciśnie klawisz escape, podczas gdy lista rozwijana jest otwarty lub zamyka okno dialogowe. Oznacza to, że wybór użytkownika powinno być zignorowane. W polu kombi proste CBN_SELENDOK jest wysłany przed każdą wiadomość CBN_SELCHANGE. Jeśli styl okna WS_EX_NOPARENTNOTIFY jest określony dla pola kombi, system nie wysyła komunikatów CBN_SELENDOK i CBN_SELENDCANCEL.

W polu kombi proste system wysyła wiadomość z powiadomieniem CBN_DBLCLK , gdy użytkownik kliknie dwukrotnie element listy. Z rozwijanego kombi lub listy rozwijanej jednym kliknięciem ukrywa listę, więc nie jest możliwe kliknij dwukrotnie element.