라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem

반응형

이번에는 MFC 라디오 버튼을 연속해서 만들경우 그룹으로 묶이지 않고
2개가 선택되는 경우가 발생하여 해결책을 제시해 드립니다.

 

라디오 버튼은 특성 상 두 개가 있으면 둘 중 하나 밖에 선택하지 못하고
세개가 있으면 세개중 하나밖에 선택 하지 못한다.

하지만 라디오 버튼이 2개가 선택될때가 있다.

라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem
라디오 버튼이 2개 선택되는 경우


그 경우는 최초 라디오 버튼을 2개 추가해놓은 상태에서 다른 UI를 다 완성시켜놓고 나서,
해당 부분에 다시 라디오 버튼을 추가하는경우이다.
즉 프로그램을 개발하다보면 라디오버튼이 더 필요해서 추가하는 경우이다.

이 경우에 나중에 추가한 라디오버튼은 연속적이 아니라 개별적으로 동작하는 경우가 생깁니다.

분명 하나로 선택되어야 하는데 부분인데 두개가 선택되도록 이상하게 라디오버튼이 작동하게 된다.

그래서 몇가지 인터넷을 찾아서 해결 방법을 시도해본 결과

 

1) GROUP지정 확인
   각 그룹의 첫번째 라디오 버튼의 속성 항목에서 GROUP을 TRUE로 설정하고 나머지 멤버들은 그대로 FALSE로 해둔다.

라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem
GROUP 속성을 True로 바꾼 화면


   이렇게 해버리면 GROUP이 TRUE로 된 라디오버튼의 그룹이 나타나기전까지는 같은 그룹으로 인식한다.
   나머지 FALSE 속성을 가진 라디오 버튼들은 자연스럽게 그 그룹의 일원으로 인식되는것이다.

   -이방법은 이미 적용되어 있는 방법이라서 해결 안됨-

 

2) Resource.h 에서 resource ID 숫자가 연속적이지 않게 지정된 경우
     #define IDC_RADIO1 1026
     #define IDC_RADIO12 1027
     중간 생략....
    #define IDC_RADIO13  1030

라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem
연속된 리소스가 아닌 화면

  혹시나 이게 연속된 ID로 생성되어야, 하나의 그룹으로 인식하는줄 알고 차례대로 수정해봤는데 해결 안됨

 

3) xxx(프로젝트명).rc 파일이거나 생성한 다이얼로그명.rc 파일

이 파일은 다이얼로그를 구성하는 정보들을 담고 있는데요.
보통 리소스 편집기에서 도구상자에 있는 항목들을 추가할때 쓰는 파일입니다.

이 파일을 리소스 편집기에서 열지말고 비쥬얼스튜디오에서 코드로 열어봅니다.

라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem
리소스정보가 떨어져 있는 화면
이 파일을 보면 나중에 추가한 Radio3이 아래쪽에 있는 것을 발견할수 있었습니다.

 

라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem
리소스를 차례대로 수정한 화면
그래서, Radio1, Radio2의 바로 다음에 해당 라디오 버튼(Radio3)을 옮겨 주었는데요.

웬지 해결될것 같은 느낌이 오는데요 ㅋㅋ 

 

라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem
정상적으로 동작되는 라디오버튼

이 방법으로 하니 다이얼로그가 하나의 그룹으로 동작이 되네요.

 

전에도 이런적이 있었는데 기록을 해놓지 않으니 계속 까먹고 다시 찾고를 반복하다 보니 이번에는 이렇게 정리해봅니다.

도움이 되었으면 하네요.

그럼 이만^^

 

반응형

공유하기

게시글 관리

구독하기람보의 재테크여행

저작자표시 비영리 변경금지

  • 카카오스토리
  • 트위터
  • 페이스북

'컴퓨터관련' 카테고리의 다른 글

아수스비보북부팅안되는 경우 해결책(커피쏟은후 부팅안됨)  (2)2021.08.28MFC 자주쓰는 코드 정리  (0)2021.01.28Windows.old 폴더 삭제하는 방법  (0)2020.12.22ASUS 비보북 X512DA-BQ473 사용기  (0)2020.08.27이코노믹 잉크젯 캐논E569S 재구매 후기  (0)2020.06.19

라디오 버튼 선택 안됨 - ladio beoteun seontaeg andoem

 

 

개발을 하다 보면 자주 사용하지만 할 때마다 찾아보는 것들이 있습니다.

대부분이 자바스크립트 부분인데 이번 포스팅은
그중 체크박스 , 셀렉트, 라디오 버튼 제어에 대한 글입니다.

 

 

 

 

체크 박스 CHECKBOX


<input type="checkbox" name="playerChkBox" id="playerChkBox1" value="son">
<input type="checkbox" name="playerChkBox" id="playerChkBox2" value="kane">
<input type="checkbox" name="playerChkBox" id="playerChkBox3" value="romero">

 

1. 체크 여부

- 다음과 같은 형식으로 코드를 사용합니다.

- 아이디를 사용할 경우 ("input:checkbox[id='체크박스의 아이디']").is(":checked")

- 네임을 사용할 경우 ("input:checkbox[name='체크박스의 네임']").is(":checked") 

var chkYnById = ("input:checkbox[id='playerChkBox1']").is(":checked");
var chkYnByName = ("input:checkbox[name='playerChkBox']").is(":checked");

 

2. 체크된 항목의 value값 추출하기

var chkValById = $('input:checkbox[id="playerChkBox1"]').val();
var chkValByName = $('input:checkbox[name="playerChkBox"]').val();

 

3. 체크박스 체크 활성화 / 비활성화

//활성화
$('input:checkbox[id="playerChkBox1"]').attr("checked", true);
$('input:checkbox[name="playerChkBox"]').attr("checked", true);

//비활성화
$('input:checkbox[id="playerChkBox1"]').attr("checked", false);
$('input:checkbox[name="playerChkBox"]').attr("checked", false);

//여러개인 경우 일괄 처리
$('input:checkbox[name="playerChkBox"]').each(function() {
	this.checked = true;
});

 

 

 

 

 

 

셀렉트 SELECT


<select name="playerList" id="playerList">
    <option value="son">손흥민</option>
    <option value="kane">케인</option>
    <option value="romero">로메로</option>
</select>

 

1. 선택한 값, 텍스트 추출

var selectValById = $("#playerList option:selected").val();
var selectTextById = $("#playerList option:selected").text();

var selectValByName = $("select[name=playerList]").val();
var selectTextByName = $("select[name=playerList]").text();

 

2. 원하는 값으로 select 변경

- 아래의 예시는 value값이 kane인 항목을 select 하도록 처리

$("#playerList").val("kane").prop("selected", true);

 

- 순서에 따른 선택 변경

option:eq(1)의 뜻은 옵션의 두 번째 항목을 나타내기 때문에, 두번째 항목인 kane를 select 처리합니다.

$("#playerList option:eq(1)").prop("selected", true);

 

 

 

 

 

 

라디오 버튼 RADIO BUTTON


<input type="radio" name="playerList" value="Kulusevski">클루셉스키
<input type="radio" name="playerList" value="Bentancur">벤탄쿠르
<input type="radio" name="playerList" value="Højbjerg">호이비에르

 

1. 선택한 항목의 value값 추출

var radioVal = $('input:radio[name=playerList]').is(":checked").val();

 

2. 선택 항목 변경

- attr과 prop을 사용할 수 있습니다.

var chkYnById = ("input:checkbox[id='playerChkBox1']").is(":checked");
var chkYnByName = ("input:checkbox[name='playerChkBox']").is(":checked");
0

반응형

공유하기

게시글 관리

구독하기무사뎀벨레의 블로그

'LANGUAGES > Front-End' 카테고리의 다른 글

[JavaScript]자주 사용하는 정규식  (2)2022.04.12[JavaScript] 정규 표현식(RegExp)의 개념  (4)2022.04.12[JavaScript] JavaScript 란?  (4)2022.03.21[HTML&JSP] SNS에서 URL 공유시 미리보기meta 태그  (2)2022.03.17[Thymeleaf] 정의와 사용방법  (2)2022.02.23