pub struct CheckBox {
pub handle: ControlHandle,
/* private fields */
}
Expand description
A check box consists of a square box and an application-defined labe that indicates a choice the user can make by selecting the button. Applications typically display check boxes to enable the user to choose one or more options that are not mutually exclusive.
CheckBox is not behind any features.
Builder parameters:
parent
: Required. The checkbox parent container.text
: The checkbox text.size
: The checkbox size.position
: The checkbox position.enabled
: If the checkbox can be used by the user. It also has a grayed out look if disabled.flags
: A combination of the CheckBoxFlags values.ex_flags
: A combination of win32 window extended flags. Unlikeflags
, ex_flags must be used straight from winapifont
: The font used for the checkbox textbackground_color
: The background color of the checkbox. Defaults to the default window background (light gray)check_state
: The default check statefocus
: The control receive focus after being created
Control events:
OnButtonClick
: When the checkbox is clicked once by the userOnButtonDoubleClick
: When the checkbox is clicked twice rapidly by the userMousePress(_)
: Generic mouse press events on the checkboxOnMouseMove
: Generic mouse mouse eventOnMouseWheel
: Generic mouse wheel event
use native_windows_gui as nwg;
fn build_checkbox(button: &mut nwg::CheckBox, window: &nwg::Window, font: &nwg::Font) {
nwg::CheckBox::builder()
.text("Hello")
.flags(nwg::CheckBoxFlags::VISIBLE)
.font(Some(font))
.parent(window)
.build(button);
}
Fields§
§handle: ControlHandle
Implementations§
Source§impl CheckBox
impl CheckBox
Sourcepub fn builder<'a>() -> CheckBoxBuilder<'a>
pub fn builder<'a>() -> CheckBoxBuilder<'a>
Examples found in repository?
331 fn build_partial<W: Into<ControlHandle>>(data: &mut AnimalUi, parent: Option<W>) -> Result<(), NwgError> {
332 let parent = parent.unwrap().into();
333
334 nwg::Label::builder()
335 .text("Name:")
336 .h_align(nwg::HTextAlign::Right)
337 .parent(&parent)
338 .build(&mut data.label1)?;
339
340 nwg::Label::builder()
341 .text("Race:")
342 .h_align(nwg::HTextAlign::Right)
343 .parent(&parent)
344 .build(&mut data.label2)?;
345
346 nwg::Label::builder()
347 .text("Is fluffy:")
348 .h_align(nwg::HTextAlign::Right)
349 .parent(&parent)
350 .build(&mut data.label3)?;
351
352 nwg::TextInput::builder()
353 .text("Mittens")
354 .parent(&parent)
355 .build(&mut data.name_input)?;
356
357 nwg::ComboBox::builder()
358 .collection(vec!["Cat", "Dog", "Pidgeon", "Monkey"])
359 .selected_index(Some(0))
360 .parent(&parent)
361 .build(&mut data.race_input)?;
362
363 nwg::CheckBox::builder()
364 .text("")
365 .check_state(nwg::CheckBoxState::Checked)
366 .parent(&parent)
367 .build(&mut data.is_soft_input)?;
368
369 nwg::Button::builder()
370 .text("Save")
371 .parent(&parent)
372 .build(&mut data.save_btn)?;
373
374 nwg::GridLayout::builder()
375 .parent(&parent)
376 .max_size([1000, 150])
377 .min_size([100, 120])
378 .child(0, 0, &data.label1)
379 .child(0, 1, &data.label2)
380 .child(0, 2, &data.label3)
381 .child(1, 0, &data.name_input)
382 .child(1, 1, &data.race_input)
383 .child(1, 2, &data.is_soft_input)
384 .build(&data.layout)?;
385
386 nwg::GridLayout::builder()
387 .min_size([100, 200])
388 .max_column(Some(2))
389 .max_row(Some(6))
390 .child(1, 5, &data.save_btn)
391 .parent(&parent)
392 .build(&data.layout2)?;
393
394 Ok(())
395 }
396
397 fn process_event<'a>(&self, _evt: nwg::Event, _evt_data: &nwg::EventData, _handle: ControlHandle) {
398 }
399
400 fn handles(&self) -> Vec<&ControlHandle> {
401 Vec::new()
402 }
403 }
404}
405
406mod partial_food_ui {
407 use native_windows_gui as nwg;
408 use self::nwg::{PartialUi, NwgError, ControlHandle};
409 use super::*;
410
411 impl PartialUi for FoodUi {
412 fn build_partial<W: Into<ControlHandle>>(data: &mut FoodUi, parent: Option<W>) -> Result<(), NwgError> {
413 let parent = parent.unwrap().into();
414
415 nwg::Label::builder()
416 .text("Name:")
417 .h_align(nwg::HTextAlign::Right)
418 .parent(&parent)
419 .build(&mut data.label1)?;
420
421 nwg::Label::builder()
422 .text("Tasty:")
423 .h_align(nwg::HTextAlign::Right)
424 .parent(&parent)
425 .build(&mut data.label2)?;
426
427 nwg::TextInput::builder()
428 .text("Banana")
429 .parent(&parent)
430 .build(&mut data.name_input)?;
431
432 nwg::CheckBox::builder()
433 .text("")
434 .check_state(nwg::CheckBoxState::Checked)
435 .parent(&parent)
436 .build(&mut data.tasty_input)?;
437
438 nwg::Button::builder()
439 .text("Save")
440 .parent(&parent)
441 .build(&mut data.save_btn)?;
442
443 nwg::GridLayout::builder()
444 .parent(&parent)
445 .max_size([1000, 90])
446 .min_size([100, 80])
447 .child(0, 0, &data.label1)
448 .child(0, 1, &data.label2)
449 .child(1, 0, &data.name_input)
450 .child(1, 1, &data.tasty_input)
451 .build(&data.layout)?;
452
453 nwg::GridLayout::builder()
454 .min_size([100, 200])
455 .max_column(Some(2))
456 .max_row(Some(6))
457 .child(1, 5, &data.save_btn)
458 .parent(&parent)
459 .build(&data.layout2)?;
460
461 Ok(())
462 }
Sourcepub fn tristate(&self) -> bool
pub fn tristate(&self) -> bool
Return true
if the checkbox can have a third state or false
otherwise
Sourcepub fn set_tristate(&self, tri: bool)
pub fn set_tristate(&self, tri: bool)
Sets or unsets the checkbox as tristate
Sourcepub fn check_state(&self) -> CheckBoxState
pub fn check_state(&self) -> CheckBoxState
Return the check state of the check box
Sourcepub fn set_check_state(&self, state: CheckBoxState)
pub fn set_check_state(&self, state: CheckBoxState)
Sets the check state of the check box
Sourcepub fn enabled(&self) -> bool
pub fn enabled(&self) -> bool
Return true if the control user can interact with the control, return false otherwise
Sourcepub fn set_enabled(&self, v: bool)
pub fn set_enabled(&self, v: bool)
Enable or disable the control
Sourcepub fn visible(&self) -> bool
pub fn visible(&self) -> bool
Return true if the control is visible to the user. Will return true even if the control is outside of the parent client view (ex: at the position (10000, 10000))
Sourcepub fn set_visible(&self, v: bool)
pub fn set_visible(&self, v: bool)
Show or hide the control to the user
Sourcepub fn set_position(&self, x: i32, y: i32)
pub fn set_position(&self, x: i32, y: i32)
Set the position of the check box in the parent window
Sourcepub fn class_name(&self) -> &'static str
pub fn class_name(&self) -> &'static str
Winapi class name used during control creation
Sourcepub fn forced_flags(&self) -> u32
pub fn forced_flags(&self) -> u32
Winapi flags required by the control