摘要:
分析: 首先,我们要明确一点,窗口的绘制包括两个步骤,首先:擦除窗口背景,然后再对窗口重新进行绘制;当擦除窗口背景时,程序会发生一个WM_ERASEBKGND消息,因此可以在此响应函数中完成位图的显示。代码如下: 1 BOOL CGraphicView::OnEraseBkgnd(CDC* pDC) 2 { 3 // TODO: 在此添加消息处理程序代码和/或调用默认值 4 CBitmap bitmap; 5 bitmap.LoadBitmapA( IDB_BITMAP1 ); 6 7 BITMAP bmp; 8 bitmap.Ge... 阅读全文
posted @ 2014-03-20 17:26
可笑痴狂
阅读(12771)
评论(0)
推荐(0)
摘要:
MFC封装类:CFontDialog核心代码如下: 1 void CGraphicView::OnFont() 2 { 3 CFontDialog dlg; 4 if( IDOK == dlg.DoModal() ) 5 { 6 if( m_font.m_hObject ) // 如果m_font对象已经和某个字体资源相关联,要先释放这个资源,之后才能和新的资源进行关联,否则会报错 7 m_font.DeleteObject(); 8 m_font.CreateFontIndirectW( dlg.m_cf.... 阅读全文
posted @ 2014-03-20 13:21
可笑痴狂
阅读(4987)
评论(0)
推荐(0)
摘要:
其实很简单,使用MFC现有的类CColorDialog 即可实现核心代码如下: 1 void CCColorDialogView::OnGraphSetting() 2 { 3 CColorDialog m_setClrDlg; 4 m_setClrDlg.m_cc.Flags |= CC_FULLOPEN|CC_RGBINIT; // CC_RGBINIT可以让上次选择的颜色作为初始颜色显示出来 5 m_setClrDlg.m_cc.rgbResult = m_clr; //记录上次选择的颜色 6 if(IDOK ==m_setClrDlg.... 阅读全文
posted @ 2014-03-20 11:07
可笑痴狂
阅读(7919)
评论(0)
推荐(0)