2017-12-07 20 views
-2

. 내 페이지에는 두 개의 콤보 박스가있어서 구별하기 위해 두 개의 식별자가 필요합니다. 다음 코드를 입력하지만 Visual Studio 15.5는 IDC_COMBOBOX_LAYER이 선언되지 않은 식별자임을 알려줍니다. 그것은 정수로되어 있지만 100과 같은 숫자는 작동하지 않습니다.콤보 상자 식별자를 선언하는 방법에 궁금한 C++ 선언 콤보 상자 식별자

HWND hWndComboBox = CreateWindow(WC_COMBOBOX, TEXT(""), 
    CBS_DROPDOWN | CBS_HASSTRINGS | WS_CHILD | WS_OVERLAPPED | WS_VISIBLE, 
    xpos, ypos, nwidth, nheight, parWnd, IDC_COMBOBOX_LAYER, NULL, 
    NULL); 

Google을 검색했지만 여기에서 요청하는 메시지가 표시되지 않습니다. 식별자를 어떻게 선언합니까? 이이 대화 상자 리소스에 사용되지 않을 경우

+0

"_It은 (가) 정수가되어야합니다"는게 무슨 뜻입니까? 어디서 읽었 니? [documentation] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679(v=vs.85) .aspx)에 설명 된 것처럼, IDC_COMBOBOX_LAYER를 전달하려는 매개 변수 'to는 HMENU 형이다. ** ** 정수가 아닙니다. –

+0

HMENU이지만 WS_CHILD 스타일의 창과 함께 사용하면 v.an 정수로 처리됩니다. – SoronelHaetir

+0

[The Definitive C++ Book Guide and List] (https://stackoverflow.com/q/388242)를보십시오. 이것은 정말로, 정말로 * 기본적입니다. – IInspectable

답변

1

나는 그것을 그냥 값을 할당 할 것을 제안하고 사용합니다 :

enum CHILD_IDs : UINT { IDC_COMBOBOX = 1 }; 

을이 대화 상자에서 사용 (하지만 템플릿의 일부에 대한되는 경우 어떤 이유로) 자원 시스템을 통해 정의하고, 자원 탐색기 (ctrl + shift + e)로 가서 자원 파일을 마우스 오른쪽 단추로 클릭하고 "자원 기호"를 선택하면 새로운 기호 값을 작성할 수 있습니다.

+0

[대화 상자 편집기가 제어 ID를 100으로 할당하는 이유는 무엇입니까?] (https://blogs.msdn.microsoft.com/oldnewthing/20041214-00/?p=37013/) – IInspectable