2013-04-02 1 views
0

나는 그림으로 MFC 신청서를 스핀 컨트롤), "각도"및 "범위"필드에는 적용되지 않습니다. 스핀 버튼을 직접 클릭하면 완벽하게 작동합니다. 동일은 "기본 각도"와 중첩 형태의 "±"필드에 무슨 일이 벌어지고MFC는 마우스 휠 회전하지 스핀 버튼 제어 텍스트 상자

:

Nesting

내 가설 :이 일어나고있는 분야는 그룹 상자

내부에 있기 때문에 테스트를 위해 수행 한 작업 : 작업 영역이 겹치지 않는 방식으로 그룹의 상자 크기를 변경했습니다.

Part Orientation Modified

Nesting Modified

결과 : 마우스 휠이 부품 방향 대화 상자의 컨트롤에서 작동하기 시작했습니다. 그러나 중첩 대화 상자에서는 작업을 거부했습니다.

참고 : 텍스트 상자는 CEdits입니다. CString 변수가있는 DDX입니다. 부품 오리엔테이션은 모달 대화 상자입니다. 중첩가 (이 하나가 해당 CFrameWndEx에서 파생 됨)를 CMainFrame 내부 CDockablePane 내부 된 CDialogBar 내부 CMFCTabControl, 내부 형태 이제

, 내 용의자입니다 : 양식 파트 방향 대화를 들어 , 나는 그룹 상자가 먹고 의심 마우스 휠 이벤트. 중첩 대화 상자에서 DockablePane이 마우스 휠 이벤트를 먹고있는 것으로 의심됩니다. 또는 내가 설계 한 창 레이아웃으로 만든 암시 적 CTabbed 창일 수도 있습니다. 또는 심지어 MainFrame.

내 질문은 : 그룹 상자 안에있는 스핀 단추로 제어되는 텍스트 상자에서 마우스 휠을 어떻게 작동시킬 수 있습니까? 내 App Dialogs에서 더 많은 경우가 있습니다.

누가 마우스 휠 운동을 처리해야하는지 누가 처리 할 수 ​​있습니까? 동일한 질문이 중첩 폼 컨트롤에도 적용됩니다. 그룹 박스 영역이 제거되고 마우스 휠이 계속 스핀 버튼을 움직이지 않게합니다! 사전에

감사합니다, 세르지오

답변

0

첫 번째 단계는이 내가 여기 WizMouse라는 한 작은 소프트웨어를 비활성화하는 것이 었습니다. 마우스 휠이 Part Orientation Dialog의 스피너 컨트롤 텍스트 상자에서 즉시 작동하게되었습니다. 그것은 하나 스테핑되었습니다

은 다른 사람이 내가이 마우스 휠의 움직임을 만들어

UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK 

UDS_ARROWKEYS 

에서 회 전자 RC 정의를 변경했다 작동하지만 원하지 않는 방식으로 만드는 방법 유닛은 위로 이동하는 것이 감소했으며, 상한선은 100이었습니다!

왜? 왜냐하면, 스피너의 오프셋을 조작하기 위해 UDN_DELTAPOS를 처리하는 함수가 있기 때문입니다. 델타 값이 5.0 인 값으로 double 값을 지정합니다. 그리고 이것은 두 개의 스피너 버튼을 direcly 클릭 할 때 일어났습니다! 그 함수에서

내가했던 일은, 이제 모든 것이 잘 :)

감사합니다, 한 번 더 작동 한 대신

0의에 * pResult를 설정하는 것입니다.