use crate::co;
use crate::decl::*;
use crate::gui::privs::*;
pub trait GuiEventsButton: priv_ctrl_events::GuiEvents {
fn_nfy_withparm_noret! { bcn_drop_down, co::BCN::DROPDOWN, NMBCDROPDOWN;
}
fn_nfy_withparm_noret! { bcn_hot_item_change, co::BCN::HOTITEMCHANGE, NMBCHOTITEM;
}
fn_cmd_noparm_noret! { bn_clicked, co::BN::CLICKED;
}
fn_cmd_noparm_noret! { bn_dbl_clk, co::BN::DBLCLK;
}
fn_cmd_noparm_noret! { bn_kill_focus, co::BN::KILLFOCUS;
}
fn_cmd_noparm_noret! { bn_set_focus, co::BN::SETFOCUS;
}
fn nm_custom_draw<F>(&self, func: F)
where
F: Fn(&NMCUSTOMDRAW) -> AnyResult<co::CDRF> + 'static,
{
self.wm_notify(co::NM::CUSTOMDRAW, move |p| {
Ok(func(unsafe { p.cast_nmhdr::<NMCUSTOMDRAW>() })?.raw() as _)
});
}
}
impl GuiEventsButton for BaseCtrlEvents {}