otwieranie okna i zaznaczanie elementu TABem

0

w momencie kiedy edit w głównym oknie ma focusa naciskam TAB ten otwiera - pokazuje mi kolejne okno z kontrolką listview i zaznacza automatycznie jej 1 element...
i teraz tak, po naciśnięciu TAB otwiera mi nowe okno ale słyszę przy tym dźwięk jakby chciał jeszcze wstawić tabulator do edita a okno było nieaktywne - jak wyeliminować ten dźwięk? obsługa tego wygląda u mnie tak

case WM_KEYDOWN:
        if (wParam == VK_TAB) {

            if (global::onoff_dialog == false) {
                ShowWindow( global::dialog_window, 1 );
                SetFocus( global::dialog_window );
                global::onoff_dialog = true;
                //ListView_SetItemState (global::listview, 0, LVIS_DROPHILITED,
                          //0x000F);
            }
            else {
                ShowWindow( global::dialog_window, 0 );
                global::onoff_dialog = false;
                //ListView_SetItemState (global::listview, 0, LVIS_DROPHILITED,
                          //0);
            }
        }

i kolejna sprawa zaznaczanie 1 elementu w listview mam to w komentarzach w kodzie powyżej jednak nie działało jak trzeba bo zaznaczało 1 pozycje ale w momencie kiedy dodałem 2 to już były zaznaczone obie a ja za każdym razem gdy otwieram 'okno pomocnicze' TAB-em to chce mieć tam zaznaczoną tylko 1 pozycje listy prosiłbym o jakieś wskazówki ewentualnie pytania jeśli nie jasno wytłumaczyłem o co mi chodzi

0

z zaznaczeniem sobie pośrednio poradziłem tak

ListView_SetItemState( global::listview, 0, LVIS_SELECTED, LVIS_SELECTED );

ale to tylko dało tło zaznaczenia a tak naprawde nie zaznaczyło tej pozycji nie wiem czego tu jeszcze brakuje

dalej nie wiem skąd ten dźwięk z edita? teraz zauważyłem że jak jestem w edicie i wciskam enter to też mam ten dźwięk taki jak przy wyskakiwaniu okna dialogowego a nic się nie dzieje...

//edit::
rozwiązałem problem z dźwiękiem - zamiast WM_KEYDOWN obsłużyłem komunikat WM_CHAR z kontrolki edit i wszystko gra ;)
zostało jeszcze tylko to nieszczęsne zaznaczenie elementu listview....

//edit::
już wszystko jest tak jak powinno gdyby kogoś to interesowało "pełne" programowe zaznaczenie elementu w kontrolce listview

ListView_SetItemState (global::listview, index, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);

gdzie index to nr rekordu do zaznaczenia ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1