本人利用MFC按钮增加CBitmapButton按钮,发现按钮是灰颜色的,并且按钮不能下压,不起作用,但是另外页面的按钮是正常的,后来发现原因:

本人是自己增加的页面,添加的类,但是新添加的类没有OnInitDialog()函数,并且OnInitDialog函数如下:

BOOL CLANSETTG::OnInitDialog()
{
    CDialog::OnInitDialog();
    fontLan150.CreatePointFont(150,_T("华文行楷"));
    CFont* editfont = new CFont;                       //输入框字体大小font
    if(editfont != NULL)   
    editfont->CreateFont(
    20, 0, 0, 0, FW_NORMAL, FALSE,
    FALSE, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
    CLIP_DEFAULT_PRECIS,   DEFAULT_QUALITY,                         
    DEFAULT_PITCH | FF_SWISS, _T("宋体"));
    GetDlgItem(IDC_EDITLAN)->SetFont(editfont);
    GetDlgItem(IDC_EDITPORT)->SetFont(editfont);
    hbr_lan = CreateSolidBrush(RGB(16,81,114));
    butt_lanset.LoadBitmaps(IDB_BITSAVU,IDB_BITSAVD);
    butt_lanset.SizeToContent();
    PageNum = 5;
    return TRUE;
}

其中第一行必须是CDialog::OnInitDialog();(没有这行就显示不出来,本人亲自验证过);

03-20 17:15