본문 바로가기

반응형

전자 공학/MFC

(14)
[MFC 독학하기] 5. HelloMFC 예제 분석하기(1) - CWinApp 안녕하세요. 취업한 공대누나입니다. 오늘부터 본격적으로 MFC에 대한 공부를 들어갑니다. 저와 같이 공부하시는 분들을 위해서 아주 천천히 진행해볼 예정입니다 급한 것도 없고 개인 공부이기 때문이죠~ 우선 저는 HelloMFC라는 프로젝트를 만들었습니다. 예제 소스코드를 따라치고 빌드를 했는데 다음과 같은 에러가 발생했습니다. #error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] 우선 저와 같이 저런 에러코드가 발생하시는 분들은 아래와 같이 해결해야합니다. 프로젝트 -> 속성-> 구성 속성 -> 고급 -> MFC..
afxwin.h 파일(소스)를 열 수 없습니다. (visual studio 2019) 안녕하세요. 취업한 공대누나입니다. 오늘은 MFC 프로그램의 기본 구조에 대해 알아보며 공부를 진행해보려고 했습니다. 책을 읽어가며 예제 소스 코드를 따라 쳐보려고 했는데 위와 같은 에러가 발생했습니다. 인터넷에 찾아보니 Visual Studio 2019는 MFC를 자동 지원하지 않기 때문에 수동으로 설치해줘야 한다고 합니다. 수동 설치하는 방법을 알아보도록 하겠습니다. 1. Visual Studio Installer 실행하기 우선 Visual Studio Installer를 실행시켜줍니다. 2. 수정 버튼을 클릭합니다. 3. [설치 세부 정보] - [최신 v142 빌드 도구용 C++ MFC(x86 및 x64)를 클릭하고 수정 버튼을 눌러줍니다. 설치를 완료한 후 다시 소스 코드를 보니 더 이상 에러가 ..
[MFC 독학하기] 4. GetMessage TranslateMessage DispatchMessage Wndproc 안녕하세요. 취업한 공대누나입니다. 요즘은 주말마다 MFC를 조금씩 공부하고 있는데요. 이번주도 열심히 해보겠습니다. 가장 흔히 있는 HelloSDK의 예제를 분석하고 있습니다. 사용중인 함수들에 대한 이해를 해보는 중이며 내용 공유를 해보겠습니다. 1. GetMessage GetMessage 함수는 메시지 큐에서 메시지 하나를 꺼내 msg 변수에 저장을 하는 것입니다. WndProc 콜백 함수에서 메시지가 있을 때는 WM_QUIT을 제외한 모든 메시지에 대해서 1을 돌려줍니다. 그리고 꺼낸 메시지가 WM_QUIT이면 0을 리턴하면서 거짓으로 판단하고 while 문을 빠져나갑니다. 새 메시지가 올때까지 제어가 필요없어서 CPU를 사용하지 않습니다. 2. TranslateMessage GetMessage는..
[MFC 독학하기] 3. CreateWindow(), ShowWindow() 안녕하세요. 취업한 공대누나입니다. 지난 시간에 이어서 SDK 예제를 마저 보도록 하겠습니다. 가장 기초적인 것이니 만큼 차근차근 진행할 예정입니다. 1. CreateWindow 윈도우는 CreateWindow() 함수에 의해서 메모리에 할당됩니다. 그리고 할당된 윈도우를 화면에 출력하기 위해서 ShowWindow()라는 함수를 호출하게 됩니다. CreateWindow 함수의 원형은 아래와 같습니다. HWND CreateWindow( LPCTSTR lpClassName, // 윈도우 클래스 이름 LPCTSTR lpWindowName, // 윈도우 이름 DWORD dwStyle, // 윈도우 스타일 int x, // 윈도우 좌측 상단의 x 좌표 int y, // 윈도우 좌측 상단의 y 좌표 int nWid..
[MFC 독학하기] 2. SDK 프로그램, HINSTANCE, HWND 안녕하세요. 취업한 공대누나입니다. 오늘은 SDK 프로그램 기본 구조에 대해 살펴보도록 하겠습니다. 그럼과 동시에 간단하게 창을 하나 띄워보도록 할건데요. 새로운 것을 배우는 것이라 기분이 좋고 설렙니다 시작해보겠습니다. 우선 오늘 작성한 프로그램의 결과 창은 아래와 같습니다. Hello, SDK 라는 창이 띄워져있고, 마우스를 클릭하면 다음과 같은 창이 뜨게 됩니다. 저는 사실 C언어 밖에 해보지 않아서 이러한 윈도우 프로그래밍이 조금은 낮선데요. C언어랑 대표적으로 큰 차이점을 보이는 것부터 천천히 설명해보도록 하겠습니다. 우선 main 함수입니다. C언어에서는 int main 이런식으로 했다면 여기서의 메인 함수는 아래와 같습니다. 1. WinMain 함수 int WINAPI WinMain (HIN..
[MFC 독학하기] 1. 윈도우 프로그래밍이란? 안녕하세요. 취업한 공대누나입니다. 오늘부터 MFC 윈도우 프로그래밍 공부를 진행해보려고 합니다. 학생 때 배워보지 않았기도 하고, 일하면서 알고 있으면 좋을 것 같아서 시작하게 되었습니다. 소프트웨어 쪽 지식은 특히나 얕기 때문에 천천히 해보겠습니다. 1. 윈도우 프로그래밍이란? 윈도우 운영체제에서 구동되는 응용 프로그램으로 사용자에 의해 발생하는 이벤트에 의해 실행이 됩니다. 이벤트 기반, 메시지 기반 프로그래밍이라고도 불립니다. 1) GUI Interface (그래픽 유저 인터페이스) Graphical User Interface의 약자입니다. 사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 작업 환경을 말합니다. GUI의 반대는 CLI(Command-Line Interface)인데요. 도스와 같이 ..

반응형