[카테고리:] <span>C++</span>

[카테고리:] C++

[WinAPI] HDC 1 – 사각형, 원, 다각형, 선 그리기

오늘은 HDC를 이용하여 사각형, 원, 다각형을 그려보도록 하겠습니다. 만들어보기 전에 윈도우에서 좌표 계산 방법은 아래와 같습니다.x좌표는 왼쪽에서 오른쪽으로 숫자가 증가하고,y좌표는 일반적인 2차원 좌표와 반대로 위에서 아래로 숫자가 증가하는 방식 입니다. 좌표를 유의해 주시고, 이제 만들어 보겠습니다. 프로젝트를 …

[WinAPI] CStdioFile 을 이용한 text 만들기, 쓰기, 읽기, 닫기

CStdioFile 클래스를 이용하여 text 만들기, 쓰기, 읽기, 닫기를 알아보겠습니다. 아래 그림과 같이 버튼 4개를 만들어 주시고 Resource ID를 입력해주세요. 각각의 버튼들은 더블 클릭을 만들어 이벤트 처리 함수를 생성해주세요. 그리고 헤더파일에 아래와 같이 CStdioFile 멤버 변수를 …

[MFC] 응용프로그램 아이콘 설정

오늘은 응용프로그램 아이콘을 설정하는 법을 알아보도록 하겠습니다. 이 사이트에서 적당한 아이콘 파일을 다운받아줍니다. 다운받은 .ico 파일을 프로젝트 폴더 -> res 폴더 위치에 복사해주시길 바랍니다. 그리고 아래와 같이 리소스 뷰 -> 리소스 추가를 하시고 방금 복사한 파일을 선택 …

[MFC] 대화상자 숨기기, OnWindowPosChanging 사용

개발을 하다 보면 사용자에게 UI를 보여주지 않고 백그라운드로 실행 해야할 프로그램을 만들어야 할 때가 있습니다.그럼 보통 ShowWindow( SW_HIDE )를 사용하거나 CreateEx로 윈도우 생성 시 투명 속성을 줄 수 있습니다.MFC의 경우 SW_HIDE를 하는데 중요한건 OnInitDialog에서 해도 …

[MFC] Static DLL(정적 DLL) 만들기

정적 라이브러리와 동적 라이브러리에 대한 설명은 다른 링크를 참고해주세요. 확장 DLL 만드는법에 대한 설명은 여기를 참조해주세요. 정적 DLL을 만들어 보겠습니다. 새 프로젝트 -> MFC -> MFC DLL을 선택하셔서 프로젝트를 생성해 줍니다. “MFC를 정적으로 링크한 기본 …

[WinAPI] Tray Icon, 트레이아이콘

오늘은 트레이아이콘에 대해 알아보겠습니다. 아래 그림과 같이 작업표시줄 우측에 조그만 그림으로 표시된 것을 트레이 아이콘이라 합니다. 트레이 아이콘은 아이콘 표시 뿐만 아니라, 알람과 메뉴를 만들수 있어서 사용 편의성을 위해서 많이 사용 됩니다. 이번 글에서는 트레이 …

[WinAPI] CriticalSection, 임계영역

이번 글에서는 임계영역에 대해 알아보겠습니다. 임계 영역(Critical Region)은 병행 처리(Concurrent Processing)에서 공유 자원에 접근하는 부분을 말합니다. 공유 자원은 여러 개의 스레드나 프로세스들이 동시에 접근할 수 있는 자원을 말합니다. 예를 들어 아래와 같이 전역 변수 a에 …

[MFC] Extension DLL (확장 DLL) 만들기

오늘은 Extension DLL을 만드는 법에 대해 알아보겠습니다. 보통 실무에서 DLL이라 하면 쓰임새가 사용합니다.(다른 용도로 사용할 수도 있지만 보통 이렇게 사용하죠.) 간단히 설명하자면,A프로젝트에 더하기 기능이 필요하여 더하기 함수를 만들었습니다.그런데 개발을 하다보니 프로젝트양이 커져서 B프로젝트도 생겼는데 이 B프로젝트에도 더하기 함수가 …

[WinAPI] SendMessage, PostMessage

윈도우 메시지에 대한 개념은 이 블로그에서 익히길 추천합니다. 오늘은 MFC를 이용하여 메시지 사용법에 대해 알아보겠습니다.메시지를 보내기 위해 SendMessage와 PostMessage를 사용하는데 이 둘의 차이는 동기냐 비동기냐 차이입니다.SendMessage의 경우 메시지를 수신한 쪽에서 처리를 완료할 때까지 대기하는 함수이고, …

[WinAPI] 공유 메모리 – Memory Mapped File

오늘은 프로세스 간 메모리 공유 방법에 대해 알아보겠습니다. 서로 다른 윈도우(프로세스)가 같은 메모리를 참조해야 할 경우엔 파일 매핑 방식을 이용하면 됩니다.해당 방식에 대한 개념은 구글에 Memory Mapped File라고 쳐도 많이 나옵니다.공유 메모리를 이용하면 결과적으로 아래와 …