받는 std :: string 값에 따라 특정 작업을 수행하는 함수가 있습니다.MFC 메시지 맵 함수에 값을 전달하는 방법 on_command
예 :
무효 performTaskOnStringValue (표준 : : 문자열);
이제 버튼 클릭시 해당 텍스트를 값으로 전달하여이 함수를 호출해야하는 리본 버튼 집합 (CMFCRibbonButton)이 있습니다.
이 버튼의 id를 버튼 id가있는 on_command라는 메시지 맵 매크로에 매핑했습니다. 예 - - 모든 버튼은 하나 개의 공통 ID를 공유
ID_RIBBON_BUTTON_ID
ON_COMMAND (ID_RIBBON_BUTTON_ID, & MyClass에 :: performTaskOnStringValue)를 다음과 같이 메시지 맵입니다;
ButtonClick의이 함수에 매개 변수로 버튼 텍스트를 전달하려면 어떻게해야합니까?
버튼을 추가하는 것이 즉석에서 이루어지기 때문에 내가 만드는 데 필요한 버튼의 수를 손에서 미리 알지 못합니다. 내가 알아야 할 이유는 ID를 ON_COMMAND_RANGE와 연결하고 리소스 파일에 삽입하여 올바른 ID로 인식되도록하는 것입니다. –
@EternalLearner, 즉석에서 버튼을 만들면 리소스 파일에 버튼을 넣을 필요가 없습니다. 사용 가능한 최소 및 최대 값을 정의하고 현재 버튼을 추적하고 새 버튼을 만들 때마다 증가시킵니다. –
내가 추가 한 요소가 CMFCRibbonButton 유형 이었기 때문에 모든 것이 GetDlgItemText를 제외하고 작동했습니다. 필자는 FindByID (uint ID) 메서드를 사용했습니다. 감사. –