vc笔记

一、计算器:

(1)、新建一个MFC AppWizard(exe)文件,选择Dialog based 点击Finish;

(2)、删除原有窗口上的所有按钮控件,添加三个文本框和两个按钮;按钮分别改为清零和计算,

(3)、在窗口界面单机右键选择ClassWizard→Member Variables  将IDC_EDIT1的Type改为int,Member改为m_1;将IDC_EDIT2的Type改为int,Member改为m_2;将IDC_EDIT3的Type改为int,Member改为m_3;

(4)双击结果按钮,添加代码:

UpdateData(TRUE);

         m_3=m_2+m_1;

         UpdateData(FALSE);

(5)、双击清零按钮,添加代码:

UpdateData(TRUE);

m_1=0;

m_2=0;

m_3=0;

         UpdateData(FALSE);

(6)、点击编译运行。

 

二、调用颜色对话框:

(1)、添加一个“颜色改变”按钮,在头文件中定义三个颜色变量

intm_nRed;

intm_nGreen;

int m_nBlue;

(2)、初始化变量

m_nRed=0;   m_nGreen=0; m_nBlue=0;

 

(3)、调用颜色函数:CRect rect;

                CPaintDC dc(this);

                GetClientRect(rect);

 

                dc.FillSolidRect(rect,RGB(m_nRed,m_nGreen,m_nBlue));

(4)、调用颜色对话框

       CColorDialog cDig(RGB(m_nRed,m_nGreen,m_nBlue));

        if(cDig.DoModal()==IDOK)

                 {

                  

                     COLORREF color=cDig.GetColor();

                          m_nRed=GetRValue(color);

                          m_nGreen=GetGValue(color);

                          m_nBlue=GetBValue(color);

             

          }

        Invalidate();

 

三、添加背景图片:

(1)选中主文件夹,右键添加一个.bmp格式的图片。

(2)在头文件中定义一个刷子: CBrush m_brush;

把颜色函数注释掉://dc.FillSolidRect(rect,RGB(m_nRed,m_nGreen,m_nBlue));

(3)在类向导中添加WM_CTLCOLOR,并写入代码:

if(nCtlColor==CTLCOLOR_DLG)

                   return m_brush;

(4)在定义下写代码:      

 

CBitmap  bmp;

         bmp.LoadBitmap(IDB_BITMAP1);

         m_brush.CreatePatternBrush(&bmp);

四、添加定时器

(1)、定义SetTimer(1,1000,NULL);

(2)、在类向导中添加TIMER并添加代码:

         if(nIDEvent==1)

         {

                   m_nRed=rand()%255;

            //CString str;

            //str.Format("red=%d",m_nRed);

            //AfxMessageBox(str);//输出红色所占比例;

      m_nGreen=rand()%255;

            m_nBlue=rand()%255;

             Invalidate();

 

                   //KillTimer(1);关闭定时器

         }

 

 

五、背景颜色和图片的转换

(1)、在颜色函数上方添加代码:

         if(!m_bShowImg)

(2)、

添加按钮“背景转换”并添加代码:

m_bShowImg=         !m_bShowImg;

 Invalidate();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值