请各位帮忙看看,错在哪里?为什么不响应?
void onpage(NMHDR* pnmh,LRESULT* presult)
{
CEdit edit;
edit.Attach(((CEdit*)GetDlgItem(IDC_EDIT1))->m_hWnd);
int npos=0;
CSliderCtrl* slider=(CSliderCtrl*)(pnmh->hwndFrom);
npos=slider->GetPos();
CString string;
lengthleft=(UINT)(length/npos);
string.Format("%u",lengthleft);
edit.SetWindowText(string);
edit.Detach();
}DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(mydlg3,CDialog)
ON_WM_HSCROLL()
ON_NOTIFY(TB_PAGEUP,IDC_SLIDER1,onpage)
ON_NOTIFY(TB_PAGEDOWN,IDC_SLIDER1,onpage)
END_MESSAGE_MAP()
void onpage(NMHDR* pnmh,LRESULT* presult)
{
CEdit edit;
edit.Attach(((CEdit*)GetDlgItem(IDC_EDIT1))->m_hWnd);
int npos=0;
CSliderCtrl* slider=(CSliderCtrl*)(pnmh->hwndFrom);
npos=slider->GetPos();
CString string;
lengthleft=(UINT)(length/npos);
string.Format("%u",lengthleft);
edit.SetWindowText(string);
edit.Detach();
}DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(mydlg3,CDialog)
ON_WM_HSCROLL()
ON_NOTIFY(TB_PAGEUP,IDC_SLIDER1,onpage)
ON_NOTIFY(TB_PAGEDOWN,IDC_SLIDER1,onpage)
END_MESSAGE_MAP()
解决方案 »
- 关于编程工具的选择
- 请问如何去掉CFormView的滚动条?
- 我想知道,倒底如何获取窗口的风格?用什么函数啊?
- 能不能提供视频采集在网络上传输的例子??
- 高分求可以通过身份验证的smtp发送电子邮件的程序例子(vc6.0写的)
- 哪里有Install Shield使用说明的电子书籍下载??
- 基于SQL server 数据库的备份和恢复
- 请问哪位知道怎么做Microsoft Agent的.ACS文件。用怎么工具去做。
- 关于CGridCtrl打印问题
- 请问发E_mail时,要发好多封,比如7封吧,该如何在地址栏上填写它们?
- 怎样定义一个组合键,让程序在没有输入焦点的时候也可以接收
- 怎样让一个程序只在右下角显示一个图标,右键或左键弹出菜单
ClassWizard中为mydlg3添加WM_VSCROLL
BEGIN_MESSAGE_MAP(mydlg3, CDialog)
//{{AFX_MSG_MAP(CEditTestDlg)
ON_WM_VSCROLL()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()然后会生成这样的函数
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
这样就会响应了。
通过判断nSBCode 是SB_PAGEDOWN 或是SB_PAGEUP 就可以实现你的功能。
//{{AFX_MSG(CDlgGetPath)
afx_msg void OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()然后在.cpp文件中加入下面语句,这样就可以相应了。
BEGIN_MESSAGE_MAP(CDlgGetPath, CDialog)
//{{AFX_MSG_MAP(CDlgGetPath)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, OnSelchangedTree)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()具体内容,你可以参照《Visual C++技术内幕》
另本人一定送分。