如何在MFC对话框中设置切换按钮? 就像你在智能手机中打开wifi时常用的一样,按下开关按钮和辐射按钮不是我的需要,
Uptil现在我已经达到改变开关按钮以推动效果,但我需要真正的切换按钮效果,如智能手机中描述的那样。
请记住,它支持从关闭拖动到反之亦然.... :(
答案 0 :(得分:1)
您可以保留按下按钮时可见的2张图像和未按下按钮时的图像。现在,您可以在每次单击按钮时使用CBitmapButton::LoadBitmaps或CButton::SetBitmap更改图像。确保使按钮无效,以便新图像生效。
//load your bitmaps (in constructor if dialog)
m_wifionBitmap.LoadBitmap(IDB_WIFION);
m_wifioffBitmap.LoadBitmap(IDB_WIFIOFF);
// In turn_on_wifi()
CButton* pButton = (CButton*)GetDlgItem(IDC_WIFI_TOGGLE_BUTTON);
pButton->SetBitmap(HBITMAP)m_wifionBitmap);
// In turn_off_wifi()
CButton* pButton = (CButton*)GetDlgItem(IDC_WIFI_TOGGLE_BUTTON);
pButton->SetBitmap(HBITMAP)m_wifioffBitmap);
答案 1 :(得分:1)
已在codeproject中编码, A Better Bitmap Button Class