3、VC2008 NewControl 示例
(源码:http://download.youkuaiyun.com/source/2819075
vc2008目录下面好像也是有的)
CMFCButton
例:变量类型:CMFCButton m_mfcBtn;
普通按钮:
1)在App::InitInstance()中添加:
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
2)设置其属性
如:
CMFCButton::EnableWindowsTheming(FALSE); // 不使用xp风格
m_mfcBtn.SizeToContent(); // 自动调整大小
设置提示文字
m_mfcBtn.SetTooltip(_T("MFC Button"));
图片按钮
m_mfcBtn.SetImage(IDB_BTN_32, IDB_BTN_HOT_32);
// 默认图片在左边,下面设置图片在右边
m_Button.m_bRightImage = TRUE;
m_Button.m_bTopImage = FALSE;
菜单按钮
CMFCMenuButton m_btnMenu;
CMenu m_menu;
m_menu.LoadMenu(IDR_MENU1);
m_btnMenu.m_hMenu = m_menu.GetSubMenu(0)->GetSafeHmenu();
m_btnMenu.m_bOSMenu = FALSE;
m_btnMenu.SetTooltip(_T("MFC Menu Button"));
m_btnMenu.SizeToContent();
颜色按钮
CMFCColorButton m_ColorPicker
// Create color picker:
m_ColorPicker.EnableAutomaticButton(_T("Automatic"), RGB(255, 0, 255));
m_ColorPicker.EnableOtherButton(_T("Other"));
m_ColorPicker.SetColor((COLORREF)-1);
m_ColorPicker.SetColumnsNumber(10);
响应事件
void C***::OnColorPicker()
{
COLORREF color = m_ColorPicker.GetColor();
if (color == -1)
{
color = m_ColorPicker.GetAutomaticColor();
}
m_strRGB.Format(_T("%d,%d,%d"), GetRValue(color), GetGValue(color), GetBValue(color));
UpdateData(FALSE);
}
CMFCLinkCtrl
添加一个按钮,变量变量:
CMFCLinkCtrl m_btnLink;
初始化:
m_btnLink.SetURL(_T("http://www.microsoft.com"));
m_btnLink.SetTooltip(_T("Visit Microsoft site"));
m_btnLink.SizeToContent();
颜色控件
颜色按钮
请看颜色按钮
颜色对话框
void CPage::OnColorDlg()
{
CMFCColorDialog dlg(m_Color, 0, this);
if (dlg.DoModal() == IDOK)
{
m_Color = dlg.GetColor();
m_strRGBColorDialog.Format(_T("%d,%d,%d"), GetRValue(m_Color), GetGValue(m_Color), GetBValue(m_Color));
UpdateData(FALSE);
}
}
Color bar
Color bar with custom palette
字体组合框
图像编辑
CVSListBox
CMFCEditBrowseCtrl
掩码编辑框(Masked Edit)
CMFCListCtrl