pub fn multi_selection(&self) -> Vec<usize> {
        use winapi::um::winuser::{LB_GETSELCOUNT, LB_GETSELITEMS, LB_ERR};

        let handle = check_hwnd(&self.handle, NOT_BOUND, BAD_HANDLE);
        let select_count = match wh::send_message(handle, LB_GETSELCOUNT, 0, 0) {
            LB_ERR => usize::max_value(),
            value => value as usize
        };

        if select_count == usize::max_value() || usize::max_value() == 0 {
            return Vec::new();
        }

        let mut indices_buffer: Vec<u32> = Vec::with_capacity(select_count);
        unsafe { indices_buffer.set_len(select_count) };

        wh::send_message(
            handle,
            LB_GETSELITEMS,
            select_count as WPARAM,
            indices_buffer.as_mut_ptr() as LPARAM
        );

        indices_buffer.into_iter().map(|i| i as usize).collect()
    }
/// Return a list index
/// Returns an empty vector for single select list box.
Return a list index
Returns an empty vector for single select list box.
Return a list index Returns an empty vector for single select list box .
pub fn multi_selection(&self) -> Vec<usize> {
        use winapi::um::winuser::{LB_GETSELCOUNT, LB_GETSELITEMS, LB_ERR};
        let handle = check_hwnd(&self.handle, NOT_BOUND, BAD_HANDLE);
        let select_count = match wh::send_message(handle, LB_GETSELCOUNT, 0, 0) {
            LB_ERR => usize::max_value(),
            value => value as usize
        };
        if select_count == usize::max_value() || usize::max_value() == 0 {
            return Vec::new();
        }
        let mut indices_buffer: Vec<u32> = Vec::with_capacity(select_count);
        unsafe { indices_buffer.set_len(select_count) };
        wh::send_message(
            handle,
            LB_GETSELITEMS,
            select_count as WPARAM,
            indices_buffer.as_mut_ptr() as LPARAM
        );
        indices_buffer.into_iter().map(|i| i as usize).collect()
    }
pub fn multi_selection ( & self ) -> Vec < usize > { use winapi :: um :: winuser :: { LB_GETSELCOUNT , LB_GETSELITEMS , LB_ERR } ; let handle = check_hwnd ( & self . handle , NOT_BOUND , BAD_HANDLE ) ; let select_count = match wh :: send_message ( handle , LB_GETSELCOUNT , 0 , 0 ) { LB_ERR => usize :: max_value ( ) , value => value as usize } ; if select_count == usize :: max_value ( ) || usize :: max_value ( ) == 0 { return Vec :: new ( ) ; } let mut indices_buffer : Vec < u32 > = Vec :: with_capacity ( select_count ) ; unsafe { indices_buffer . set_len ( select_count ) } ; wh :: send_message ( handle , LB_GETSELITEMS , select_count as WPARAM , indices_buffer . as_mut_ptr ( ) as LPARAM ) ; indices_buffer . into_iter ( ) . map ( | i | i as usize ) . collect ( ) }
Return a list index
Returns an empty vector for single select list box.
Return a list index Returns an empty vector for single select list box .
&self