Struct winsafe::gui::ListView

source ·
pub struct ListView<T: 'static = ()>(/* private fields */);
Available on crate feature gui only.
Expand description

Native list view control. Not to be confused with the simpler list box control.

The generic parameter specifies the type of the object that will be embedded on each item – if you don’t want to store anything, just use () as the type. Internally, this storage is implemented with pointers in the item’s LPARAM fields.

You can have access to the internal header of the list view by creating a Header object.

Implementations§

source§

impl<T> ListView<T>

source

pub fn new(parent: &impl GuiParent, opts: ListViewOpts) -> Self

Instantiates a new ListView object, to be created on the parent window with HWND::CreateWindowEx.

§Panics

Panics if the parent window was already created – that is, you cannot dynamically create a ListView in an event closure.

source

pub fn new_dlg( parent: &impl GuiParent, ctrl_id: u16, resize_behavior: (Horz, Vert), context_menu_id: Option<u16> ) -> Self

Instantiates a new ListView object, to be loaded from a dialog resource with HWND::GetDlgItem.

Since the image list is always managed by the control itself, LVS::SHAREIMAGELISTS style will always be added.

§Panics

Panics if the parent dialog was already created – that is, you cannot dynamically create a ListView in an event closure.

Panics if the context menu, when specified, does not exist.

source

pub const fn columns(&self) -> ListViewColumns<'_, T>

Exposes the column methods.

source

pub fn context_menu(&self) -> Option<&HMENU>

Returns the context menu attached to this list view, if any.

The context menu is attached when the list view is created, either by calling ListView::new or ListView::new_dlg.

source

pub fn image_list(&self, kind: LVSIL) -> Option<&HIMAGELIST>

Retrieves a reference to one of the associated image lists by sending an lvm::GetImageList message.

The image list is owned by the control.

source

pub const fn items(&self) -> ListViewItems<'_, T>

Exposes the item methods.

source

pub fn current_view(&self) -> LV_VIEW

Retrieves the current view by sending an lvm::GetView message.

source

pub fn set_current_view(&self, view: LV_VIEW)

Sets the current view by sending an lvm::SetView message.

source

pub fn set_extended_style(&self, set: bool, ex_style: LVS_EX)

Sets or unsets the given extended list view styles by sending an lvm::SetExtendedListViewStyle message.

source

pub fn set_image_list( &self, kind: LVSIL, himagelist: ImageListDestroyGuard ) -> Option<ImageListDestroyGuard>

Sets the one of the associated image lists by sending an lvm::SetImageList message.

The image list will be owned by the control. Returns the previous one, if any.

source

pub fn set_redraw(&self, can_redraw: bool)

Allows or disallows the redrawing of the control by sending a wm::SetRedraw message.

Trait Implementations§

source§

impl<T> Clone for ListView<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> GuiChild for ListView<T>

source§

fn ctrl_id(&self) -> u16

Returns the control ID, which is defined at control creation. Read more
source§

impl<T> GuiChildFocus for ListView<T>

source§

fn focus(&self)

In a raw, ordinary window, simply calls HWND:SetFocus. Read more
source§

impl<T> GuiNativeControl for ListView<T>

source§

fn on_subclass(&self) -> &WindowEvents

Exposes the subclass events. If at least one event exists, the control will be subclassed. Read more
source§

impl<T> GuiNativeControlEvents<ListViewEvents> for ListView<T>

source§

fn on(&self) -> &ListViewEvents

Exposes the specific control events. Read more
source§

impl<T> GuiWindow for ListView<T>

source§

fn hwnd(&self) -> &HWND

Returns the underlying handle for this control. Read more
source§

fn as_any(&self) -> &dyn Any

Converts a reference to the Any trait. This is useful when storing a collection of polymorphic controls, because Any allows downcasting. Read more
source§

impl<T> Send for ListView<T>

Auto Trait Implementations§

§

impl<T> Freeze for ListView<T>

§

impl<T = ()> !RefUnwindSafe for ListView<T>

§

impl<T = ()> !Sync for ListView<T>

§

impl<T> Unpin for ListView<T>

§

impl<T = ()> !UnwindSafe for ListView<T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.