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

[카테고리:] C++

[WinAPI] MailSlot, 메일 슬롯 사용법

오늘은 프로세스간 통신 방법인 메일 슬롯 사용법에 대해서 알아보겠습니다. 메일 슬롯에 대해 약간의 설명을 하자면, 우체통과 비슷하다고 볼 수 있습니다.아래 그림과 같이 A가 B에게 편지를 보낸다고 할 때, A는 편지를 우체통에 넣고, B는 우체통에서 편지를 …

[MFC] DoModal, Modeless 생성 및 차이

DoModal 부모 대화상자가 자식 대화상자를 호출 하고에 자식 대화상자의 작업이 종료될 때 까지 대기합니다.자식 대화상자가 종료되지 않으면 부모 대화상자에 포커스도 설정되지 않습니다.자식 대화상자가 종료되어야 다음 작업을 수행합니다. Modeless 자식 대화상자의 호출과 관련없이 다음 작업을 수행합니다.자식 대화상자를 여러개 호출 …

[MFC] 단축키 추가 – PreTranslateMessage, Accelerator

오늘은 Accelerator을 사용하여 단축키를 추가하는 방법을 알아보겠습니다. 윈도우 응용프로그램은 PreTranslateMessage에서 키 입력을 포함한 여러 가지 메시지들을 볼 수 있습니다.그 메시지들 중에 키 입력하는 것을 해볼텐데, Accelerator를 사용하지 않으면 매우 복잡해지니 Accelerator을 사용해서 개발해보도록 하겠습니다. MFC프로젝트를 …

[Visual C++] dll 에러 해결 방법 – mfc140u, VCRUNTIME140.dll 등등

개발자가 아니더라도, 일반 사용자들이 컴퓨터를 사용하다 보면 mfc140u.dll 등의 dll이 없다고 에러가 나타납니다. 이럴 때 참 난감합니다. 어찌어찌 인터넷 상에서 mfc140.dll, VCRUNTIME140.dll을 다운받아도 또 다른 dll이 없다고 하거나 정상적으로 실행 되지 않죠. 이 오류들은 대체 …

[MFC] 컨트롤 색 변경 – Static, Edit, Combo

오늘은 대화상자 컨트롤의 색상을 변경해보겠습니다. Visual C++ 에서는 개발자가 사용할 수 있는 기본 컨트롤들을 제공하는데 해당 컨트롤들은 정말 기본 모양이여서 어딘가 아쉬울 때가 있습니다. 아래와 같이 대화상자 클래스에서 OnCtrColor함수를 추가합니다. 그리고 대화상자에 Static Control, Edit Control, Combo …

[WinAPI] CreateMutex, 대화상자 중복 실행 방지

오늘은 간단하게 CreateMutex를 사용하여 중복 실행 방지를 알아보도록 하겠습니다.뮤텍스는 공유된 자원에 하나의 쓰레드만 접근할 수 있게 다른 쓰레드의 접근을 막는 방식중 하나입니다.이 방식을 사용하여 보통 중복 실행을 방지하는 기능으로 많이 만듭니다.MFC를 예제로 사용하는 방법을 알아보겠습니다. …

[WinAPI, Visual C++] DC 프린터에 출력하기, CPrintDialog, StartDoc, StartPage, EndPage, EndDoc

이 글을 보시기 전에 DC 그리기 모르시는 분들은 여기를 먼저 보시기 바랍니다. 이번 글에선 DC로 프린터 출력 하기를 해보겠습니다. 우선 MFC 프로젝트 생성후 버튼 하나 만들어주세요.DC를 프린트 하기전에 우선 출력할 프린터를 선택해야 합니다. CPrintDialog를 사용하면 …

[C++] 비트 단위 연산자 – 설명 프로그램

저번 글에서 비트 단위 연산자에 대해서 설명했었습니다.이미지가 아니라 눈으로 보고, 실제로 조작하는 프로그램이 있었으면 좋겠다고 생각해서 만들게 됐네요. 아래 파일을 다운받고 실행 하시면 됩니다. BitwiseTest.exe를 실행 시키면 아래와 같이 실행 됩니다. 저번 글에서 처럼 총 …

[C++] union(공용체) – 비트 필드

오늘은 union, 공용체에 대해 알아보겠습니다.공용체는 구조체와 비슷하지만  공용체 안에 선언된 변수들은 메모리를 공유한다는게 제일 큰 차이가 되겠네요.이것 또한 현재는 많이 사용하지 않지만 과거에 메모리가 부족했을때 많이 사용했습니다.네트워크 통신에서 과부하를 줄이기 위해 패킷을 최대한 줄일 때에도 많이 사용합니다. 사용 방법은 아래와 같습니다. 1Byte를 공용체를 사용하여 비트 단위로 관리하면 선언하는데 작업이 더 걸리지만 사용하는 입장에서는 매우 편하게 사용할 수 있습니다. 위 코드를 이미지화 하면 아래 그림과 같습니다. 실제 예제로 알아보겠습니다사람을 구조체로 선언한다고 합시다.여러가지 신체부위가 있겠지만, 양손(손가락 포함)을 코드로 구현하면 아래와 같습니다. 만약 위와 같이 bool로 선언하면 변수크기가 …

[C++] struct(구조체) – 비트 필드

이전 글에서 비트 단위 연산을 통해 비트 데이터를 조작하는 것을 알아봤습니다.사실 비트 단위의 데이터를 조작하는 것은 그렇게 자주 경험할 일이 아닙니다.그냥 이런 코딩 방법도 있구나 알아두기만 하세요 기본적인 선언 방법은 아래와 같습니다. 보통 변수를 사용할 …