소연의_개발일지
article thumbnail
[C++] MFC CImage 이미지 생성, 저장, 로드, 움직이는 사각형 만들기
개발공부/C++ 2023. 9. 17. 15:56

단축키 ctrl + K + O → 헤더 파일로 이동 C++ 접근 지정자 C++에서 클래스나 구조체의 멤버에 대한 접근 지정자(access specifier)는 총 3가지이다: private, public, protected. 각 접근 지정자에 대한 설명은 다음과 같다. 1. private private으로 지정된 멤버는 해당 클래스 내에서만 접근이 가능하다. 외부에서 직접 접근하려고 하면 컴파일 에러가 발생한다. 기본적으로 클래스의 멤버들은 private으로 설정된다. class MyClass { private: int myPrivateVar; }; 2. public public으로 지정된 멤버는 어디서든지 접근이 가능하다. 주로 클래스의 인터페이스로 사용되는 메서드들을 public으로 지정한다. cla..

article thumbnail
[C++] MFC 버튼 생성, 에딧컨트롤 생성, 이벤트 연결, 계산기 만들기
개발공부/C++ 2023. 9. 16. 19:41

버튼 생성하기 드래그 - 앤 드롭 기능으로 버튼을 끌어와서 폼에 넣는다. 버튼 id는 중복이 불가하며 대문자로만 작성할 수 있다. (파이큐티의 객체명과 비슷한 듯) 캡션은 버튼에 작성되는 부분을 수정할 수 있다. BTN_TEST 라고 작성한 후 엔터를 치니 그에 맞게 버튼이 수정됨을 확인할 수 있다. 버튼 이벤트 생성하기 버튼에 클릭 이벤트를 설정하는 방법은 두 가지가 있다. 1. 버튼을 더블클릭해서 바로 더블클릭했을 때 코드로 이동한다. 2. 버튼을 우클릭 - [이벤트 처리 추가] 클릭 - 해당하는 설정값을 클릭한다. 이벤트처리기에서는 어떤 클래스에서 동작할 것인지, 버튼에 대한 이벤트 발생 유형은 어떻게 할 것인지(클릭, 더블클릭, 버튼에 FOCUS,,,)를 설정할 수 있다. 클릭을 의미하는 [BN_..

article thumbnail
[C++] MFC 콘솔창 띄우기, 특정 변수의 값 콘솔창 출력
개발공부/C++ 2023. 9. 16. 16:43

콘솔창 띄우기 디버그 헤더 파일에 #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") 을 작성해 주면 된다. 이렇게 작성해 주자 #ifdef _DEBUG #define new DEBUG_NEW #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") #endif /Debuf나 Release모드 상관없이 콘솔을 실행하고 싶으면 #ifdef, #endif 지우고 #pragma ~ 만 써주면 된다. 특정 변수의 값을 콘솔창에 출력 아래와 같이 함수 위에 추가해 준다. 파일 선언부에 작성해 줘도 됨 #include //cout으로 출력하기 위해 적용예시 #include..

article thumbnail
[C++] MFC 개발환경 설정하기
개발공부/C++ 2023. 9. 15. 17:24

개발환경 설정 C++ 로 새 프로젝트 만들기를 해서 mfc를 검색했는데 아무것도 나오지 않았다... 추가 도구 및 설치를 클릭하여 설치환경으로 들어간다. 왼쪽의 [C++을 사용한 데스크톱 개발] 을 클릭하고, 우측의 설치 세부 정보에서 MFC가 있는 체크박스를 클릭하여 하단의 [수정] 버튼을 눌러 설치해 준다. 다시 Visual studio를 열어서 [새 프로젝트 만들기] 버튼을 클릭하니 MFC앱 새로만들기가 나온다. [MFC 앱] 을 클릭하고 → [다음]을 눌러 프로젝트 구성으로 이동한다. 프로젝트 이름을 작성하고 위치를 설정한다. 그 다음 애플리케이션 종류 옵션을 설정한다. 어플리케이션 종류에서 단일문서, 여러문서, 대화상자 기반등이 있는데 가장 편한 [대화 상자 기반]을 선택한다. [마침]을 클릭하..

[Python] python에서 바이너리 형식의 파일 인코딩,디코딩하기
개발공부/Python 2023. 9. 14. 20:35

바이너리 디코딩이란? 바이너리 디코딩은 이진 데이터를 사람이 읽을 수 있는 형식으로 변환하는 프로세스를 의미한다. Python에서 디코딩하는 방법은 여러가지가 있는데, 그 중 3가지를 소개해 보려고 한다. 소켓통신할 때 이미지를 수신, 전송할 때 base64모듈을 사용해본적은 있지만 아직도 조금 생소한 감이 있다. struct 모듈 사용 struct 모듈은 Python에서 이진 데이터를 특정 형식에 따라 인코딩하는 데 사용되는 모듈이다. 이 모듈을 사용하여 바이너리 데이터를 인코딩하려면 struct.pack()함수를 사용한다. struct.pack()을 사용한 인코딩 struct.pack() 함수는 지정된 형식 문자열을 기반으로 바이너리 데이터를 패킹하여 인코딩한다. 형식 문자열은 인코딩하려는 데이터의 ..