文档详情

和滚动条控件挂上.doc

发布:2017-04-17约1.79万字共18页下载文档
文本预览下载声明
和滚动条控件挂上 加进类enum语旬,定义滚动范围的最大值和最小值 在CEx06adialog.h中的类声明中加入 enum { nMin = 0 }; enum { nMax = 100 }; 2. 修改CEx06aDialog::OnInitDialog()函数,初始化滚动范围。 CListBox* pLB = (CListBox*) GetDlgItem(IDC_DEPT); pLB-InsertString(-1, Documentation); pLB-InsertString(-1, Accounting); pLB-InsertString(-1, Human Relations); pLB-InsertString(-1, Security); CScrollBar* pSB = (CScrollBar*) GetDlgItem(IDC_LOYAL); pSB-SetScrollRange(nMin, nMax); pSB = (CScrollBar*) GetDlgItem(IDC_RELY); pSB-SetScrollRange(nMin, nMax); 3. 利用ClassWizard在CEx06aDialog中加进滚动条消息控制函数 void CEx06aDialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { int nTemp1, nTemp2; nTemp1 = pScrollBar-GetScrollPos(); switch(nSBCode) { case SB_THUMBPOSITION: pScrollBar-SetScrollPos(nPos); break; case SB_LINELEFT: // left arrow button nTemp2 = (nMax - nMin) / 10; if ((nTemp1 - nTemp2) nMin) { nTemp1 -= nTemp2; } else { nTemp1 = nMin; } pScrollBar-SetScrollPos(nTemp1); break; case SB_LINERIGHT: // right arrow button nTemp2 = (nMax - nMin) / 10; if ((nTemp1 + nTemp2) nMax) { nTemp1 += nTemp2; } else { nTemp1 = nMax; } pScrollBar-SetScrollPos(nTemp1); break; } } 利用其他的控件特性--Windows通用控件 进度指示器控件 滑杆条控件 微调按钮控件 列表控件 树状控件 EX06B示例程序 用Appwizard产生名为EX06B的项目 用ID IDD_DIALOG1建立一个新的对话框资源 用ClassWizard建立一个CDialog的派生类Cex06bDialog 进度条控件的编程。 class CEx06bDialog : public CDialog { public: int m_nTrackbar2; int m_nTrackbar1; int m_nProgress; CEx06bDialog(CWnd* pParent = NULL); enum { IDD = IDD_DIALOG1 }; double m_dSpin; protected: virtual void DoDataExchange(CDataExchange* pDX); protected: virtual BOOL OnInitDialog(); afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnItemchangedListview1(NMHD
显示全部
相似文档