슬라이더 컨트롤 사용
1612 단어 VC++
슬라이더 컨트롤:IDCSLIDER1, 연결 컨트롤 변수: mslider
슬라이더 컨트롤 속성을 설정하여 눈금을 표시합니다. Auto Ticks: True;Tick Marks:True
정적 텍스트 컨트롤: IDCSTATIC_VALUE, 연결 제어 변수 mstaticValue
OnInitDialog()에서 슬라이더 컨트롤을 초기화합니다.
m_slider.SetRange(1,50); //
m_slider.SetPos(2); //
CString str;
str.Format("%d",m_slider.GetPos());
m_staticValue.SetWindowText(str);
m_slider.SetPageSize(3); //
m_slider.SetTicFreq(5); //
메시지 응답 NM 추가슬라이더를 이동할 때 사용자가 반응할 수 있도록 CUSTOMDRAW
void CMoveTestDlg::OnCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMCUSTOMDRAW pNMCD = reinterpret_cast(pNMHDR);
// TODO:
CString str;
str.Format("%d",m_slider.GetPos()); //
m_staticValue.SetWindowTextA(str);
*pResult = 0;
}
키보드의 좌우 방향키 핸들을 통해 이동하려면PreTranslateMessage 허함수를 다시 씁니다
BOOL CMoveTestDlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_KEYDOWN ) //
{
int nValue=m_slider.GetPos();
CString str;
//
switch( pMsg->wParam )
{
case VK_LEFT://
nValue-=1; // 1
m_slider.SetPos(nValue); //
str.Format("%d",nValue);
m_staticValue.SetWindowTextA(str); //
break;
case VK_RIGHT://
nValue+=1; // 1
m_slider.SetPos(nValue); //
str.Format("%d",nValue);
m_staticValue.SetWindowTextA(str); //
break;
default:
break;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Visual Studio 2019의 C++/CLI에서 출력되는 바이너리 경로 변경Visual C++ 프로젝트에서는 디폴트로 솔루션과 같은 계층에 플랫폼의 폴더( Win32 라든지 x64 라든지)나 구성 폴더( Debug 라든지 Release 라든지)가 만들어지지만, 여러가지 구성을 바꾸고 있으면...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.