본문 바로가기

TIPS/MFC

[TIPS} 15th 20160825 15번째 강좌 정리입니다~ 지난시간 설명한 것처럼 "abc"를 보낸다면 뒤에 0까지 해서 4byte를 보내는데, 그것만 보내지 않고 헤더를 붙여야 한다.즉 27, 1 ,4(2byte), "abc"로 4+4 바이트를 보내야 한다. 따라서 이 부분은 함수를 따로 하나 만들어줄 것이다. -SendFrameData 함수 작성하기 이와같이 만들고 헤더파일에도 추가해준다. 메모리를 동적할당할때는 항상 반환을 함께 써주는 습관을 들여야한다. a_body_size가 들어가는 부분을 생각해보자. 사이즈가 255이하일 경우에는 리틀엔디언을 쓰기 때문에 정상적으로 작동할수는 있지만 그 이상일 경우에는 오류가 나게된다. 따라서 위와 같이casting을 해주는 것이다!! 위와 같이 메모리카피함수와 전송함수를 추가하여 함수작성을.. 더보기
[TIPS] 13th 20160818 (list box / socket) 13번째 강좌 정리입니다~^^ 1. MFC프로젝트를 만든다. 2. 도구상자에서 리스트박스를 눌러 배치해준다.listbox는 자료구조를 가진 컨트롤이다. 기본적으로 문자열을 다룰 수 있도록 되어있는데, 나중에 더 배우면 문자열 뿐만 아니라 다양하게 사용할 수 있다! 3. 다음과 같이 리스트 박스와 에디트컨트롤, 버튼을 배치해 준다. 4. 먼저 리스트박스의 ID를 IDC_CHAT_LIST로 바꾸어 준다. 에디트컨트롤 ID를 IDC_CHAT_EDIT로 바꾸어 준다. 버튼 ID의 캡션을 입력으로 바꾸어 준다. 5. 리스트박스를 우클릭하여 아래와 같이 변수를 추가한다. 6. 버튼을 더블클릭하여 함수를 만들고, void CExamListBox2Dlg::OnBnClickedButton1(){CString str;Ge.. 더보기
[TIPS] 11th 20160808 11번째 강좌정리입니다~! 지난번에는 오목판 만들기, 오목돌 칸에 맞춰놓기 까지 작성하였다.여기까지는 오목판 바깥에도 돌을 놓을 수 있고,모니터 바깥으로 창을 옮겼다 가져오면 돌이 없어져 판을 엎을 수 있고...!!놓았던 곳에 중복해서 또 놓을 수 있는 문제점이 있다. -돌의 위치 기억하기 1.먼저 놓인 돌의 위치를 기억해주기 위해 Dlg 헤더파일에 들어가 돌이 놓일 수 있는 13*13배열을 선언해준다. char m_dol[13][13]; 2. 그 후 헤더파일에서 '표준생성자입니다' 부분 (여기서는 파일명이 Omok이라서 COmokDlg)을 클릭하고 F12를 눌러 소스파일의 객체생성자 부분을 찾아가 선언한 배열을 모두 0으로 초기화한다. (0은 비어있음, 1은 흑돌, 2는 백돌) memset(m_dol,.. 더보기
[TIPS] 10th 20160804 10번째 강좌 정리입니다~~ C를 C++로 바꿀 때는 클래스 작업을 해야한다. 클래스 작업을 할 때에는 소스에서 무엇이 바뀌고 무엇이 바뀌지 않는지 파악해야한다. 아래 대표님블로그에 더 자세한 설명이 있다.http://blog.naver.com/tipsware/220070159066C++에서는 마음에 안드는 부분은 class를 만들어두고 상속해서 오버라이팅하는 방법이 있다. MFC에서는 작업을 크게 두가지로 나눌 수 있다.-동작부분(윈도우프로시드와 크리에이티브부분)-프로그램을 등록하고 메세지 처리하는 부분(윈메인에서 크리에이티브부분 빼고 다) MFC는 다 클래스 이름을 C를 붙여서 사용한다. 바뀌는 부분을 다 변수로 만들어둔다. unsigned short InitApplication(); 이 부분에 윈도.. 더보기