mfc 시계 예제

TRACE 매크로는 char* 및 wchar_t* 매개 변수를 모두 적절하게 처리합니다. 다음 예제에서는 TRACE 매크로를 다른 유형의 문자열 매개 변수와 함께 사용하는 것을 보여 줍니다. 예를 들어 SetAt와 같은 CString 메서드를 사용하여 문자열 개체의 개별 문자를 수정할 수 있습니다. 그러나 LPCTSTR 포인터는 일시적이며 CString을 변경하면 유효하지 않습니다. 또한 CString은 범위를 벗어나 자동으로 삭제될 수 있습니다. CString 개체를 사용할 때마다 새 LPCTSTR 포인터를 받는 것이 좋습니다. 지금 시청해야 할 회사는 마누라이프 파이낸셜(MFC)입니다. MFC는 현재 zacks 순위의 #2 (구매) 뿐만 아니라 가치에 대 한 A 등급을 스포츠. 주식의 P/E 비율은 8.07, 해당 산업의 평균 P/E는 9.54입니다. 지난 52주 동안 MFC의 포워드 P/E는 8.93으로, 6.16으로 낮았으며, 중앙값은 7.76입니다. strcpy_s(또는 유니코드/MBCS 휴대용 _tcscpy_s)에 대한 세 번째 인수는 const wchar_t* (유니코드) 또는 const char*(ANSI)입니다. 위의 예제는 이 인수에 대한 CString을 전달합니다.

C++ 컴파일러는 CString을 LPCTSTR로 변환하는 CString 클래스에 대해 정의된 변환 함수를 자동으로 적용합니다. 한 형식에서 다른 형식으로 캐스팅 작업을 정의하는 기능은 C++의 가장 유용한 기능 중 하나입니다. 일반적으로 프레임 변수가 범위를 벗어날 때 자동으로 할당 해제되기 때문에 프레임 변수와 연결된 힙 오브젝트에 대해 걱정할 필요가 없습니다. 메모리 진단 덤프의 혼란을 방지하려면 프레임 변수의 범위를 벗어나도록 검사점에 대한 호출을 배치해야 합니다. 예를 들어, 다음과 같이 이전 할당 코드 주위에 범위 대괄호를 배치합니다: 힙에 할당된 개체의 경우 메모리 누수 방지를 위해 개체를 명시적으로 삭제해야 합니다. 이전 예제에서 마지막 메모리 누수 정리하려면 다음과 같이 힙에 할당된 CPerson 개체를 삭제합니다. 페이지의 UI 요소가 변경될 때 속성 대화 상자의 « 적용 » 버튼이 활성화됩니다. 예를 들어 텍스트 상자에 새 빨간색 값을 입력하면 적용 Button이 활성화됩니다. 적용 버튼을 클릭하면 변경 사항이 부모에게 알려드립니다.

이 경우 사용자가 입력하거나 변경한 데이터를 이 속성 페이지를 시작한 상위 대화 상자로 보냅니다. 실제 상황에서 적용 버튼은 즉시 응용 프로그램에 설정을 적용합니다. 따라서 확인을 클릭하기 전에 사용자는 적용 버튼을 클릭하여 변경된 설정의 효과를 관찰할 수 있습니다. 일부 C 함수는 가변 적인 수의 인수를 취합니다. 주목할 만한 예는 printf_s입니다. 이러한 종류의 함수가 선언되는 방식으로 인해 컴파일러는 인수의 형식을 확신할 수 없으며 각 인수에서 수행할 변환 작업을 결정할 수 없습니다. 따라서 CString 개체를 가변 수의 인수를 사용하는 함수에 전달할 때 명시적 형식 캐스트를 사용해야 합니다. 여기서 xx는 버전 번호입니다.

예를 들어 42는 버전 4.2를 나타냅니다. 목록을 걷고 특정 위치에서만 리소스를 로드하지 않으려면 AfxGetResourceHandle 및 AfxSetResourceHandle 함수를 사용하여 이전 핸들을 저장하고 새 핸들을 설정합니다. 클라이언트 응용 프로그램으로 돌아가기 전에 이전 리소스 핸들을 복원해야 합니다. 이 방법을 사용하여 메뉴를 명시적으로 로드하는 예는 MFC 샘플 DLLHUSK의 Testdll2 .cpp를 참조하십시오. 범위 대괄호가 있는 경우 이 예제의 메모리 덤프는 다음과 같습니다.

Ce contenu a été publié dans Non classé. Vous pouvez le mettre en favoris avec ce permalien.

Les commentaires sont fermés.