2014-11-10 2 views
-1

기본적으로 Visual Studio 2013 (Visual C++)에서 Custom Wizard으로 만든 프로젝트 마법사의 컨트롤 중 일부를 사용하지 않도록 설정하려고합니다.Visual Studio (Visual C++)의 사용자 지정 마법사 (사용자 지정 프로젝트 템플릿)에서 컨트롤을 사용하지 않도록 설정하는 방법?

코드 :

<input class="CheckBox" type="checkbox" id="BOX1" title="Box 1"> 

이 체크 박스를 생성합니다. (확인란이 아직 활성화)

<input class="CheckBox" type="checkbox" id="BOX1" 
    title="Box 1" disabled="disabled"> 

그러나 그들 중 누구도 일하지 :

<input class="CheckBox" type="checkbox" id="BOX1" title="Box 1" disabled> 

과 :

그래서 모두 시도했습니다.

난 JS 포함하려고했다 :

alert('JS works'); //alert occured (indeed, JS works in general) 
document.getElementById("BOX1").disabled = true; //did not work 

그래서, 어떻게 컨트롤을 사용하지? 예를 들어

는 여기 "를 사용하여 HTML 대화 상자가"불가능, 나는 내 컨트롤에 같은 효과를 얻으려면 (스크린 샷은 MFC 마법사에서이지만, 그것은 중요하지 않습니다) :

enter image description here

+0

참조하는 예제 마법사의 소스를 보지 못한 이유를 알고 싶다. "왜 B가 B처럼 작동하지 않는가"라는 질문을하고, 실제로 B가 어떻게 작동하는지 보지 않습니다. . – icabod

+0

@icabod Visual Studio의 설명서를 던져서 코드 자체를 던지지 않고 찾고있었습니다 (나는 어딘가에 있다고 생각했습니다. 내가 만든 샘플은 MSDN 페이지를 사용하여 만들었습니다).어리석은 것처럼 보일지 모르지만, 나는 "장애인 통제"가 너무 일반적이어서 소스 코드를 조사 할 필요없이 잘 문서화되어야한다는 인상을 받았습니다. 하지만 지금은 샘플의 출처를 바라 보는 것이 방법이라고 생각합니다. – PolGraphic

+0

모두 문서화해야합니다. 동의합니다. 이론적으로 당신의 방법이 효과가 있습니다. MS는 (일반적으로) 사용하는 모든 마법사를 제공하므로 원하는 것을 수행하는 마법사를 살펴보십시오. 그것은 내장 된 튜토리얼과 같습니다 :) – icabod

답변

1

아마 다른 마법사 시스템을 가지고 비주얼 스튜디오 (2010 년)의 이전 버전에 대한 내 대답을 내놓고있어, 그러나 적어도 그 대답은 ...

MFC 응용 프로그램을 살펴보면, 방법 (기본적으로 비활성화 됨) 확인란을 만들기위한 기본 체크 박스에는 이름 (이 경우 HTML_DIALOG). 마법사의 HTML은 필요한 기본 설정 페이지를 초기화하는 일부의 JScript를 호출하는 onload 방법이 있습니다

당신이 VS (예를 들어) VC\VCWizards에 설치 디렉토리 기반에서 비주얼 스튜디오 응용 프로그램 마법사는 일반적으로 위치
function InitDocument(document) { 
    ... 
    HTML_DIALOG.disabled = true; 
    HTML_DIALOG_LABEL.disabled = true; 
    ... 
} 

. 위에서 참조한 MFC 응용 프로그램 마법사는 내 설치 및 로캘의 경우 AppWiz\MFC\Application\html\1033에서 더 깊습니다. 정확한 경로는 버전 및 언어에 따라 다를 수 있습니다. 내가 말하는대로

<body ... onload="initialise(document);"> 
    ... 
</body> 
<script language="JSCRIPT"> 
    function initialise(document) { 
    BOX1.disabled = true; 
    BOX1_label.disabled = true; 
    } 
</script> 

:

<body ... onload="BOX1.disable=true;"> 

이 그렇지 않으면 온로드 메소드를 호출 : 그건 당신이 기본적으로 해제 할 수있는 유일한 항목의 경우 예를 들어

, 당신은 다음과 같은 경로를 갈 수 , VS2010을 기반으로하고 완전히 테스트되지는 않았지만 HTML 태그 자체에 기본값이 없어야한다는 인상을받습니다. HTML 태그가로드 된 후에 설정됩니다. 이 접근법은 사실 매개 변수를 기반으로 기본값을 "조정"할 수있는 범위를 넓혀줍니다. 그렇 겠지.

+0

소리가 들릴지 모르지만 ... (인용하고있는) MFC AppWizard 코드가있는 곳은 어디입니까? 내 말은, 어디에서 물리적으로 .html, .vcxproj 등의 파일을 찾을 수 있습니까? 어쨌든, 나는 언젠가는 대답을 포기할 것이다 (나는 몇 시간 안에 그것을 할 수 없다). – PolGraphic

+1

@PolGraphic Visual Studio 설치 디렉터리에서 'VC \ VCWizards'아래를 살펴보십시오. 내가 본 파일은'AppWiz \ MFC \ Application \ html \ 1033'에서 더 깊었습니다. 희망이 도움이됩니다. – icabod

+0

고마움 - 이제는 내가 필요로하는 모든 것 :) 그 주석을 대답으로 옮길 수 있습니까? 주석이 가끔 지워지는데, 그 길은 유용한 해답이 될 수 있습니다. – PolGraphic

관련 문제