[an error occurred while processing this directive]
|
Вопчем нужно чтоб на слайдер фиксированного размера можно было наложить предел,
ограничить перемещение.Но делаю так как написал, проверяю состояние и если оно больше
предела то возвращаю слайдер в поле до предела. Но как только слайдер переваливает предел
так замерает и никак его не оживить. При этом бипер пикает отрабатывая клики справа от предела.
Как эту сволочь заставить работать?class CSliderTest : public CDialog
{
// Construction
public:
CSliderTestDlg(CWnd* pParent = NULL); // standard constructor
int TempA,TempB;
enum { IDD = IDD_START_DIALOG };
CSliderCtrl m_Slider;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:// Generated message map functions
//{{AFX_MSG(CSliderTestDlg)
afx_msg void SliderClick();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};void CSliderTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_SLIDER,m_Slider);
TempA=50;
TempB=70;
m_Slider.SetRange(1,100,TRUE);
m_Slider.SetPos(TempA);
m_Slider.SetPageSize(10);
}BEGIN_MESSAGE_MAP(CSliderTestDlg, CDialog)
//{{AFX_MSG_MAP(CSliderTestDlg)
ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER, SliderClick)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CSliderTestDlg::Slider1()
{
TempA=m_Slider.GetPos();
if (TempA>TempB)
{TempA=TempB;
m_Slider.SetPos(TempA);
Beep(1000,100);
}
}
E-mail: info@telesys.ru