본문 바로가기

Program/C++ MFC15

[C++ MFC] 프로그램 아이콘 바꾸기 (실행파일 ICON 변경) 프로그램 아이콘 안녕하세요. 테드입니다.프로그램을 완성하고 디테일을 놓치면 어디서 주워온 프로그램인지 아직 디버그 단계에 놓인 프로그램인지 판단하는 디테일 중 하나를 담당하는 게 아이콘이라고 생각합니다.물론 요새 추세가 구닥다리 아이콘 넣느니 깔끔한 폰트만을 사용한 심플한 디자인이 더 좋다는 느낌이고 트렌트라고 생각하긴 합니다만 적어도 아이콘이 빠지지 않고 반드시 들어가는 구간이 바로 프로그램 아이콘입니다.프로그램 아이콘은 프로그램 실행 시 작업표시줄, 작업관리자 등 다양한 구간에서 얼굴마담 역할을 합니다.기본적으로 처음 솔루션 or 프로젝트를 만들고 빌드를 하게 되면 설치했다가 삭제당한 알맹이 빠진 프로그램 같이 생긴 아이콘이 붙습니다. 이 아이콘이 윈도우 기본 실행파일 아이콘입니다. 프로그램 실행파일.. 2025. 10. 13.
[C++ MFC] DLLNotFoundException 오류 해결 방법 [문제상황]필자는 제어 프로그래머입니다. C++ 프로젝트를 갈아엎고 C#으로 리빌딩하는 중 발생한 문제에 대한 해결책 기록입니다. 개인적으로 기록하여 기억에 오래 남기기 위함으로 두서가 없을 수 있습니다.일단 문제가 발생된 시점은 서보드라이버 컨트롤을 위하여 해당되는 보드의 라이브러리를 끌어와 사용하는 과정에서 발생된 오류입니다. 문제점이 발생된 계기는 새로운 PC를 셋업 하며 발견되었다는 점 참고 부탁드립니다.기존에 셋업된 PC에서는 정상 동작하지만 새로운 PC에서는 동작하지 않아서 디버깅을 진행하였습니다. 결과적으로 문제는 컨트롤보드 제조사에서 제공하는 API를 불러오는 과정에서 참조 오류가 발생되었습니다.  [해결 순서]구글링을 진행하다보니 유용한 글을 발견했습니다. 먼저 삽질을 통해 해결 방법을 .. 2024. 6. 30.
[C++ MFC] OnCtlColor 메모리 누수 확인 방법 및 조치 [OnCtlColor 함수란]MFC 프로그램을 하다 보면 화면 구성을 조금 더 깔끔하고 간략하면서 직관적으로 구성하기 위해 노력을 많이 하게 됩니다. 그러다 보면 꼭 마주칠 수밖에 없는 메시지 함수가 바로 OnCtlColor함수입니다. OnCtlColor함수는 시스템 메시지를 이용해서 컨트롤의 속성을 변경해 주는 함수입니다. 해당 부분에서 컨트롤의 nID (Resource.h 참조)를 가져와서 해당 컨트롤의 속성값을 변경할 수 있는 겁니다. 여기서 변경되는 색상 관련 속성값은 리소스뷰에서 작업할 수 없어 별도로 코드를 구성해야 합니다. 그런데 OnCtlColor를 사용할 때 매우 중요하게 고려해야 하는 부분이 있습니다. 이 함수를 잘못 사용하게 되면 치명적인 메모리 누수가 발생되어 프로그램이 종료되어도 .. 2024. 6. 27.
[C++ MFC] UpdateData() 함수 사용하는 이유 / 사용하는 방법 [UpdateData 함수]이 함수는 MFC를 개발하면 필수적으로 알고 있어야 하는 함수입니다. 보통 C#이나 다른 언어는 이벤트, 비동기 시퀀스, 바인딩을 거치면 별도로 업데이트를 진행하지 않아도 변수와 컨트롤이 연동되어 데이터가 자동으로 갱신되는데 MFC는 직접 업데이트를 지시해야만 연동이 될 수 있습니다.참으로 불편하기 그지없지만 C# 내부코드로 들어가보면 비동기나 이벤트 등도 모두 Update와 같은 시퀀스를 내포하고 있음을 알 수 있습니다. 일단 별로 알고싶진 않지만 함수 원형은 알고 있어야 합니다. BOOL UpdateData (BOOL bSaveAndValidate = TRUE); 함수 원형에서 알 수 있듯 리턴은 Boolean 변수로 나오고 요구하는 인자도 역시 Boolean 타입인 걸 알.. 2024. 6. 25.