두 가지 다른 방법 (편집 모드 및 프로그래밍 모드)에서 사용할 수있는 대화 상자 (CDialog 파생 클래스)가 있습니다. 대화 상자가 프로그래밍 모드에서 사용되도록 열려 있으면 기본보기 (도구 모음 종류)를 수정하는 데 사용되는 모덜리스 대화 상자입니다. 에디션 모드에서 열 때 사용자는 대화 상자 자체의 구성을 변경할 수 있으며이 경우 모달 대화 상자입
DLL 내부에 작성된 CDialog를 열어야하는 응용 프로그램이 있습니다. 문제는 DLL 내부에서 DoModal()이 호출 될 때 프로그램이 "Debug Assertion Failed!"로 충돌한다는 것입니다. 누구나 CDialog를 어떻게 열 수 있습니까? 고맙습니다!
메인 프레임의 자손이 아닌 대화 (CDialog)를 만드는 방법이 있습니까? 생성시 부모 창을 지정하지 않으면 상위 창이 기본 응용 프로그램 창입니다. SetOwner 및 SetParent NULL 매개 변수를 사용하려고했지만 작동하지 않았습니다. 그래서 메인 윈도우의 자식이나 다른 윈도우의 자식이 아닌 대화 상자를 만드는 방법이 있습니까?
CDialog 기반 창을 만드는 데 일부 코드에 문제가 있습니다. 지난 주에 코드가 제대로 작동했습니다. 내가 만든 유일한 변경 사항은 C++ deque를 해시 배열로 대체하는 것입니다. Create 메서드를 호출하여 창로드를 건너 뛸 수 있도록 코드 줄을 주석 처리했습니다. 이제 코드는 더 이상 창을 만들지 않습니다. Create 함수는 false를 반환
모든 종류의 컨트롤을 넣을 수있는 사용자 정의 툴팁을 만들고 싶습니다. CDialog에서 파생되었고 WS_POPUP | WS_BORDER 스타일을 사용했습니다. 또한 도구 설명 그림자를 얻으려면 OnInitDialog에 CS_DROPSHADOW 스타일을 추가하십시오. 그 다음 툴팁을 표시하거나 숨기려면 WM_MOUSEHOVER 및 WM_MOUSELEAVE
내 응용 프로그램 내에서 다른 스레드의 대화 상자에 메시지를 보내려고합니다. 대화 상자에 std :: exception 파생 클래스 참조를 전달하려고합니다. 이 같은 뭔가 : try {
//do stuff
}
catch (MyException& the_exception) {
PostMessage(MyhWnd, CWM_SOME_ERRO
나는 CStdDlg를 CDialog 클래스에서 상속받은 있습니다. CStdDlg 대화 상자에서 목록 상자 (m_lcList1), 편집 상자 (m_ceEdit1), 라디오 단추 (m_rbButton2) 및 단추 확인, 취소 및 Button1이 있습니다. CStdDlg에서 상속 한 CDerivedDlg라는 다른 클래스를 만들려고합니다. CStdDlg하지만 CD