반응형 훈, IT 공부79 [MFC]MFC 버튼을 이용한 프로젝트 #1 버튼 추가 + 사이즈조절 MFC 프로젝트 2018.04.30 MFC 22일차 MFC의 이해를 위해서는 프로젝트를 진행하는것이 굉장히 도움이 된다. 단순히 공부를 할 때와는 다르게 실력이 늘어나는 것을 느낄 수 있을 것이다. 구글의 도움을 받으면서 이곳 저곳 삽질을 하다 보면 어느 순간 이해를 하면서 어떻게 해야하는지 보이게 될 것이다. 이 프로젝트는 다음 프로젝트와 연결되어서 진행한다. 윈도우 메시지의 이해와 함수들의 이해를 위해서는 복사 붙여넣기 방식 코딩은 절대 하면 안된다. 반드시 함수 하나하나 이해하고 넘어가야 한다. 반복하다보면 어느순간 손이 익을 것이라 생각한다. 절대 생각없이 코딩을 하면 안된다. 코드를 작성하기 위해서 어떤 함수와 메시지컨트롤 들이 필요한지는 몇 분 소요하던지검색 및 공부 후 진행하는 것을 추천한다.. 훈, IT 공부/C,C++,MFC 2018. 5. 7. [MFC] Dialog 크기조절 관련 함수,메시지 다이얼로그에서 숫자 두개를 입력해서 곱한 값만큼 버튼을 출력하고 버튼은 윈도우의 크기에 따라 커지거나 작아지게 만드는 프로젝트를 하던중 확실하게 알아야할 것 같은 함수들때문에 정리를 해보았습니다. ● OnSize vs OnSizingvoid OnSize(UING nType, int cx ,int cy) WM_SIZE -- 윈도우창의 크기가 변경되고 나서 발생하는 메시징이다. 호출되는 함수로는 OnSize() 가 있다. 크기조절이 완료되고 발생하는 메시지 이기 때문에 실시간 변경은 불가능하다. 라고 하지만 실제로 사용해보면 실시간으로 WM_SIZE 메시지가 호출된다.... void OnSizing(UINT fwSide, LPRECT pRect) WM_SIZING -- 사용자가 윈도우 창의 크기조절부분에 마.. 훈, IT 공부/C,C++,MFC 2018. 5. 1. [MFC] DC, CDC 관련하여 정리 DC도 헷갈리고 CDC도 헷갈리고 HDC를 받아오기 CDC를 받아와서 뭘하는지 헷갈리는 부분이 많아서 정리한 글을 바탕으로 정리해보았습니다. 잘정리 되어있는 사이트 링크 걸어두었으니 부족한 부분들은 참조부탁드립니다. DC(Device Context) 관련 기본적으로 Windows는 세가지 동적 연결 라이브러리로 구성된다. - 메모리와 프로그램을 관리하는 Kernel ( 신의영역 ) - 유저인터페이스와 Window를 관리하는 User ( 인간의 영역 ) - 화면처리와 그래픽을 담당하는 GDI CDC 를 알기전에 DC에 대해서 먼저 알아보겠다. GDI 는 Graphic Device Interface 이다. ( 그래픽 장치 접근혹은 접속 ) GDI 는 화면에 어떠한 접근하는 것을 담당한데 화면에 글을 쓰거나 .. 훈, IT 공부/C,C++,MFC 2018. 5. 1. [MFC] MFC 실행순서( 생성 ~ 소멸 ) MFC 실행구조 MFC 구조에 대해서는 잘 알아야 나중에 MDI가 나와도 당황하지 않을 것입니다. 기초부터 탄탄하게 만드는 것이 핵심이라 생각합니다. 분발하여 MFC 이겨봅시다. MFC 구조 CTempApp::CTempApp() ------ App 클래스 변수가 전역변수로 선언되어있으므로 제일 먼저 생성자가 호출된다CTempApp::InitInstance() ------ MFC 코드에 숨겨진 AfxWinMain함수에서 호출된다. (프로그램의 설정정보 로딩, 파라미터 처리등을 담당)CTempDoc::CTempDoc(void) ------ InitInstance()에 의해 Document 객체가 제일먼저 생성된다CMainFrame::CMainFrame(void)CMainFrame::LoadFrame() --.. 훈, IT 공부/C,C++,MFC 2018. 4. 30. [MFC] 각클래스 객체 포인터 얻어오기 MFC 정리가 필요해서 끄적끄적 작성하고 코드로 쳐보고 해보았습니다. 추가해야하는 부분은 점차 수정해나가겠습니다. MFC 로 프로젝트 생성하였다는 가정하에 정리합니다. 프로젝트명 Test CTestApp(CWinApp 상속) - 프로그램의 생성을 담당하는 영역, 프로그램 초기화관련CMainFrame(CFrameWnd상속)- 겉 프레임을 윈도우 담당하는 클래스 CTestDoc(CDocument상속) - 문서의 저장 열기 등등, 문서 담당하는 클래스 CTestView(CView상속) - 화면을 담당하는 클래스CTestDlg(CDialog상속) - 도움말 대화상자 클래스 ● CTestApp 포인터 얻어오기 CTestApp은 CWinApp를 상속받는다. 어느곳에서나 CTestApp의 포인터를 얻고자 한다면 Af.. 훈, IT 공부/C,C++,MFC 2018. 4. 28. [MFC]Document Template MFC Templatehttps://msdn.microsoft.com/ko-kr/library/sa2c737c.aspx▲ MSDN 참조 ● GetFirstDocTemplatePosition() # 구문 POSITION GetFirshDocTemplate() const; # 설명Gets the position of the first document template in the application 첫번째 문서템플릿에서 포지션을 얻어와라 # 반환값A POSITION value that can be used for iteration or object pointer retrieval; NULL if he list is empty.반환은 POSITION 형식으로 반복적으로 사용가능하다 혹은 객체의 포인터를 받는다.. 훈, IT 공부/C,C++,MFC 2018. 4. 28. [C++ STL]vector 백터란 C++ STL(Standard Template Library) 에서 제일 중요한 라이브러리 두가지가 있는데 그것이 과 이다. 이중에 vector에 대하여서 정리를 해야할것같아서 올려본다. ● vector STL(Standard Template Library)▲ 무기로 사용되는 "Vector" 요즘들어서 vector 벡터 하면 떠오르는 것이 "배틀그라운드" 에 등장하는 총의 종류다. ㅎㅎ 헛소리는 여기까지 하고 넘어가자. 벡터라는 단어의 사전적인 뜻은 "크기와 방향으로 정해지는양" , "(질병의 )매개체" , "(비행기의)진로" 명시되어있다. 프로그래밍적으로도 사용되고 수학적인 개념으로도 사용된다. 우리는 프로그래밍적으로 접근할 것이다. C++에서 사용하는 STL으로써 스택의 구조와 유사하기도 하고 단일 .. 훈, IT 공부/C,C++,MFC 2018. 4. 21. [자료구조] 자료구조란 무엇인가!? 간단히 짚고만 가자 자료구조 학부생때부터 자료구조 라는 이름은 굉장히 지루해보이고 딱딱해보였었습니다. 가르치는 교수님 조차도 딱딱하게 가르쳐주셨구요. 배움의 문제로 인해서 멀리하게 될뻔했던 자료구조를 쉽게 풀어서 배워봐야합니다. 프로그래머가 될 것이면 말이죠. ● 자료구조란?? 도서관이라는 예를가지고 자료구조를 쉽게 풀어봅시다.자료구조 라는 단어를 반으로 나누어서 생각해봅시다. ▲ 자료구조!?자료 - 도서관에 무수히 많은 책이라 가정을 해봅니다.구조 - 도서관에 무수히 많은 책을 정해진 규칙에 맞게 정리하는 식별법이라 생각합니다. 두 단어를 종합해보면 찾기쉽게 잘정리된 책 진열장 이라는게 연상이 되시나요? 맞습니다. 자료구조는 단순히 자료를 쉽게 찾기 위해서 사용하는 알고리즘 이라고 생각하시면 됩니다. 정리가 되어있지 않은.. 훈, IT 공부/컴퓨터기초 2018. 3. 8. [프로그램]강아지와 병아리 ( 다리개수 ) +손코딩연습 강아지와 병아리 숫자맞춰!! ▲ 핸드메이드 이번에 소개하는 게임은 강아지와 병아리의 총합과 강아지와 병아리의 다리개수 만 가지고 계산하여서 각각 강아지와 병아리가 몇마리씩 나타나게 되는지 알고리즘을 작성하는 프로그램입니다. 옛날에 이런문제를 봤던 기억이 있는데, 이번에는 컴파일러로 바로 작성하는것이 아니라 손코딩을 하고난 뒤에 컴파일러에 옮겨보고 컴파일 해보는 방법으로 진행 해볼 것입니다. 부지런히 손코딩을 하게 되면, 자질구레한 오류들을 잡을 수 있고, 자신의 본래의 실력이 드러나게 되고, 또한 실력또한 성장 할 수 있을 것입니다. ● 강아지와 병아리는 몇마리 있는가요? ▲ 강아지와 병아리 문제 조건 1. 강아지와 병아리의 합 1000 이하, 다리의 합 4000 이하의 음이 아닌 정수가 입력되어야한다... 훈, IT 공부/C,C++,MFC 2018. 2. 28. 1의보수 2의보수에 대한 정리 1의보수와 2의 보수 알고넘어가기 ▶ 보수란? - 보수(補數)는 보충을 해 주는 수를 의미합니다. - 예를들어서 1에 대한 10의 보수는 9 , 4에 대한 10의 보수는 6, 3에 대한 17의 보수는 14의 개념입니다. 2에대한 1의 보수는 1이다. - '두 수의 합이 진법의 밑수(N)가 되게 하는 수 ▶ 1의보수 - 1의 보수란 어떤 2진수를 각 자리수의 값이 1인 수와 빼면 1의 보수를 얻을 수 있습니다. 0 -> 1 // 1 -> 0 그냥 바꾸는 겁니다. - 실질적인 데이터 값은 8비트중에 7비트만 사용합니다. 최상위 비트는 '+-' 부호를 결정하기 때문입니다. - 컴퓨터는 2의 보수를 사용합니다 이유는 1000 0000 -0 // 0000 0000 +0 '0'이 두개 존재하기 때문입니다. 예시 ).. 훈, IT 공부/컴퓨터기초 2018. 2. 8. Managed Language Unmanaged Language 간략하게 Managed Language Unmanaged Language프로그래머로 살아남기 ( 포프님 ) # Managed Language메모리 관리를 언어상에서 알아서 해주는 언어를 Managed Lanaguage 이렇게 부른다.쉽게 프로그램 작성이 가능한 언어들을 뜻한다. ( 컴퓨터의 깊은 구조를 모르고도) Managed Language ▼JAVA, Python, C#, Javascript,......... Managed Language가 메모리를 생각하지 않고 프로그램 작성이 가능한 것은 Managed Language 를 만든 사람이 언어를 사용하는 사용자가 편하게 사용할 수 있게끔 메모리관리관련 코드를 작성하였기 때문이다.우리는 그 덕에 Java나 Python 을 사용할 때, 메모리에 대한 생각은 하지 .. 훈, IT 공부 2018. 2. 3. [C/C++] C++에서의 클래스와(Class) C언어 에서의 구조체 비교해보자 C++ Class vs C Struct + Function()C언어를 배우셨다는 전제하에 설명을 드리는점 양해부탁드립니다.# C++ 에서의 클래스에 대한 간단한 이론C++은 객체지향언어 입니다. 말그대로 객체를 지향하는 언어라는 말이죠. 객체로 코드를 작성 하지않고 절차로 해도 되지만, 우리는 객체를 지향한다... 머 요딴 말인거같습니다. C++에서는 "클래스(Class)" 라는 것이 있는데, 매우 중요히 다루어 질것입니다. "클래스(Class)" 를 알기전에 객체(Object)란 무엇인지 부터 간단한 개념만 이해하고 넘어가겠습니다. 객체란(Object)객체란 : 우리가 계속해서 배웠던 "변수" 들과 앞에서 배울 "메소드(Method)" 라는 것이 모여서 "어떤한 동작을 하거나 기능" 을 하는 것을 말합.. 훈, IT 공부/C,C++,MFC 2018. 1. 31. 이전 1 2 3 4 5 6 7 다음 반응형