www.gusucode.com > 一个简单的VC++程序安装向导源代码源码程序 > 一个简单的VC++程序安装向导源代码/dog/dog/MyDlg2.cpp
// MyDlg2.cpp : implementation file // Download by http://www.codesc.net #include "stdafx.h" #include "dog.h" #include "MyDlg2.h" #include "MyDlg3.h" #include "dogDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMyDlg2 dialog CMyDlg2::CMyDlg2(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg2::IDD, pParent) { //{{AFX_DATA_INIT(CMyDlg2) //}}AFX_DATA_INIT } void CMyDlg2::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMyDlg2) DDX_Control(pDX, IDC_GREEN_EDIT, m_Green_Edit); DDX_Control(pDX, IDC_BLUE_EDIT, m_Blue_Edit); DDX_Control(pDX, IDC_RED_EDIT, m_Red_Edit); DDX_Control(pDX, IDC_GREEN_SCROLLBAR, m_Green_ScrollBar); DDX_Control(pDX, IDC_BLUE_SCROLLBAR, m_Blue_ScrollBar); DDX_Control(pDX, IDC_RED_SCROLLBAR, m_Red_ScrollBar); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CMyDlg2, CDialog) //{{AFX_MSG_MAP(CMyDlg2) ON_BN_CLICKED(IDC_CANCLE, OnCancle) ON_BN_CLICKED(IDC_PRE1, OnPre1) ON_WM_VSCROLL() ON_BN_CLICKED(IDC_NEXT, OnNext) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMyDlg2 message handlers BOOL CMyDlg2::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here //初始化滚动条 m_Red_ScrollBar.SetScrollRange(0,255); //设定滚动条的范围 m_Green_ScrollBar.SetScrollRange(0,255); m_Blue_ScrollBar.SetScrollRange(0,255); m_Red_ScrollBar.SetScrollPos(100); //设定滑块当前位置 m_Green_ScrollBar.SetScrollPos(100); m_Blue_ScrollBar.SetScrollPos(100); char sPos[10]; itoa(m_Red_ScrollBar.GetScrollPos(),sPos,10); m_Red_ScrollBar.SetWindowText(sPos); itoa(m_Green_ScrollBar.GetScrollPos(),sPos,10); m_Green_ScrollBar.SetWindowText(sPos); itoa(m_Blue_ScrollBar.GetScrollPos(),sPos,10); m_Blue_ScrollBar.SetWindowText(sPos); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CMyDlg2::OnCancle() { // TODO: Add your control notification handler code here CDialog::OnCancel(); } void CMyDlg2::OnPre1() { // TODO: Add your control notification handler code here CDialog::OnOK(); //添加调用第二页的代码 CDogDlg dlg; dlg.DoModal(); } void CMyDlg2::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default char sPos[10]; //记录滚动条当前位置 int iRedNowPos,iGreenNowPos,iBlueNowPos;//记录滚动条的整形数 iRedNowPos=m_Red_ScrollBar.GetScrollPos();//获得滚动条当前位置 iGreenNowPos=m_Green_ScrollBar.GetScrollPos(); iBlueNowPos=m_Blue_ScrollBar.GetScrollPos(); if(pScrollBar==&m_Red_ScrollBar) //对红色滚动条进行操作 { switch(nSBCode) { case SB_THUMBTRACK: //拖动滚动条 m_Red_ScrollBar.SetScrollPos(nPos);//设定滚动条位置 iRedNowPos=nPos; break; case SB_LINEDOWN: //按向下按钮 iRedNowPos=m_Red_ScrollBar.GetScrollPos();//得到当前滚动条位置 iRedNowPos=iRedNowPos+1; //位置量+1 if(iRedNowPos>255) iRedNowPos=255; break; case SB_LINEUP: //按向上按钮 iRedNowPos=m_Red_ScrollBar.GetScrollPos();//得到当前滚动条位置 iRedNowPos=iRedNowPos-1; //位置量-1 if(iRedNowPos<0) iRedNowPos=0; break; case SB_PAGEDOWN: //按向上按钮和滑块之间的区域 iRedNowPos=m_Red_ScrollBar.GetScrollPos();//得到当前滚动条位置 iRedNowPos=iRedNowPos+10; //位置量+10 if(iRedNowPos>255) iRedNowPos=255; break; case SB_PAGEUP: //按向下按钮和滑块之间的区域 iRedNowPos=m_Red_ScrollBar.GetScrollPos();//得到当前滚动条位置 iRedNowPos=iRedNowPos-10; //位置量-10 if(iRedNowPos<0) iRedNowPos=0; break; } } if(pScrollBar==&m_Green_ScrollBar) //对绿色滚动条进行操作 { switch(nSBCode) { case SB_THUMBTRACK: //拖动滚动条 m_Green_ScrollBar.SetScrollPos(nPos);//设定滚动条位置 iGreenNowPos=nPos; break; case SB_LINEDOWN: //按向下按钮 iGreenNowPos=m_Green_ScrollBar.GetScrollPos();//得到当前滚动条位置 iGreenNowPos=iGreenNowPos+1; //位置量+1 if(iGreenNowPos>255) iGreenNowPos=255; break; case SB_LINEUP: //按向上按钮 iGreenNowPos=m_Green_ScrollBar.GetScrollPos();//得到当前滚动条位置 iGreenNowPos=iGreenNowPos-1; //位置量-1 if(iGreenNowPos<0) iGreenNowPos=0; break; case SB_PAGEDOWN: //按向上按钮和滑块之间的区域 iGreenNowPos=m_Green_ScrollBar.GetScrollPos();//得到当前滚动条位置 iGreenNowPos=iGreenNowPos+10; //位置量+10 if(iGreenNowPos>255) iGreenNowPos=255; break; case SB_PAGEUP: //按向下按钮和滑块之间的区域 iGreenNowPos=m_Green_ScrollBar.GetScrollPos();//得到当前滚动条位置 iGreenNowPos=iGreenNowPos-10; //位置量-10 if(iGreenNowPos<0) iGreenNowPos=0; break; } } if(pScrollBar==&m_Blue_ScrollBar) //对蓝色滚动条进行操作 { switch(nSBCode) { case SB_THUMBTRACK: //拖动滚动条 m_Blue_ScrollBar.SetScrollPos(nPos);//设定滚动条位置 iBlueNowPos=nPos; break; case SB_LINEDOWN: //按向下按钮 iBlueNowPos=m_Blue_ScrollBar.GetScrollPos();//得到当前滚动条位置 iBlueNowPos=iBlueNowPos+1; //位置量+1 if(iBlueNowPos>255) iBlueNowPos=255; break; case SB_LINEUP: //按向上按钮 iBlueNowPos=m_Blue_ScrollBar.GetScrollPos();//得到当前滚动条位置 iBlueNowPos=iBlueNowPos-1; //位置量-1 if(iBlueNowPos<0) iBlueNowPos=0; break; case SB_PAGEDOWN: //按向上按钮和滑块之间的区域 iBlueNowPos=m_Blue_ScrollBar.GetScrollPos();//得到当前滚动条位置 iBlueNowPos=iBlueNowPos+10; //位置量+10 if(iBlueNowPos>255) iBlueNowPos=255; break; case SB_PAGEUP: //按向下按钮和滑块之间的区域 iBlueNowPos=m_Blue_ScrollBar.GetScrollPos();//得到当前滚动条位置 iBlueNowPos=iBlueNowPos-10; //位置量-10 if(iBlueNowPos<0) iBlueNowPos=0; break; } } //设定滑块位置和在编辑框中的显示 m_Red_ScrollBar.SetScrollPos(iRedNowPos); itoa(iRedNowPos,sPos,10); m_Red_Edit.SetWindowText(sPos); m_Green_ScrollBar.SetScrollPos(iGreenNowPos); itoa(iGreenNowPos,sPos,10); m_Green_Edit.SetWindowText(sPos); m_Blue_ScrollBar.SetScrollPos(iBlueNowPos); itoa(iBlueNowPos,sPos,10); m_Blue_Edit.SetWindowText(sPos); //图像输出 CDC *pDC; //定义设备环境指针 pDC=GetDC(); //得到设备环境指针 CBrush newBrush; //定义新画刷 CPen newPen; newBrush.CreateSolidBrush(RGB(iRedNowPos,iGreenNowPos,iBlueNowPos)); newPen.CreatePen(PS_SOLID,1,RGB(iRedNowPos,iGreenNowPos,iBlueNowPos)); pDC->SelectObject(&newPen); pDC->SelectObject(&newBrush); /* HDC hdc; HPEN hpen; HBRUSH hbrush; hdc=GetDC(); hpen=CreatePen(PS_SOLID,1,RGB(iRedNowPos,iGreenNowPos,iBlueNowPos)); hbrush=CreateSolidBrush(RGB(iRedNowPos,iGreenNowPos,iBlueNowPos)); Ellipse(70,30,170,200);*/ pDC->Ellipse(160,67,180,87); pDC->Ellipse(255,67,275,87); pDC->MoveTo(132,62); pDC->LineTo(314,62); pDC->LineTo(314,130); pDC->LineTo(132,130); pDC->LineTo(132,62); ReleaseDC(pDC); CDialog::OnVScroll(nSBCode, nPos, pScrollBar); } void CMyDlg2::OnNext() { // TODO: Add your control notification handler code here CDialog::OnOK(); CMyDlg3 dlg3; dlg3.DoModal(); }