MFC 쓰레드(Thread) 정리와 예제 이번에는 MFC에서의 쓰레드(Thread)에 대해서 정리해 보겠다. 12public: int m_offset = 0;cs 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556struct PARAM{ CRect m_rc; COLORREF m_color; CMy06_16_TESTView* m_view; PARAM(CRect rc, COLORREF color, CMy06_16_TESTView* view) :m_rc(rc), m_color(color), m_view(view) {}}; UINT FrameProc(void* p){ PARAM ..
C언어 쓰레드(Thread)에 대한 간략한 정리와 예제 쓰레드 부분을 다시 공부해서 정리하려고 다른 블로그 들을 참고했는데, 너무 글씨위주로 장문의 글들이고 코드가 정리되지 않은상태로 있어서 보기가 너무 힘들었다. 그래서 정말 필요한 부분만 간략하게 정리해 보겠다. 1234567891011121314151617181920#include #include #include void CharProc(void *p); int main(){ for (auto i = 0; i
HWND와 CWnd의 차이 HWND는 윈도우의 핸들을 말한다.파일에 접근하려면 파일 핸들을 이용하듯이 윈도우도 역시 HWND라는 핸들을 사용하여 접근해야 하는데 HWND의 값은 숫자로 이루어져 있다.이 윈도우의 번호가 몇 번이다 라는 걸 알고 있어야 운영체제에서 관리를 할 수 있다.관리를 위한 id를 식별하기 위하여 HWND가 필요하다.윈도우는 공통적으로 메세지 큐를 가진다. 윈도우즈 프로그래밍은 기본적으로 메세지 처리 방식이기 때문이다. 즉 메세지 큐를 가지는 것은 전부 윈도우라 볼 수 있다. 메세지 큐라는 것은 윈도우즈에서 발생하거나 넘겨준 메세지를 저장하고 있는 곳인데 이 메세지큐에 저장된 메세지 들이 해당 윈도우로 흘러 들어가서 처리하는 것이 윈도우즈 프로그래밍의 기본 원리이다.대화상자에는 여러가..
클래스 클래스는 객체를 생성할 수 있는 구조와 정보를 가지고 있는 틀이라고 정의할 수 있다.다시말하면 붕어빵 기계로 붕어빵을 만드는 것을 생각해보자. 붕어빵 기계를 클래스라고 하면 이 기계에서 나오는 붕어빵은 객체가 된다. 즉 클래스는 붕어빵 기계처럼 하나지만, 붕어빵은 서로 다른 의미를 갖는 객체라고 이해하면 된다. 종합하면 클래스는 개념적인 의미이며, 객체는 구체적인 의미와 같다. 또한 하나의 클래스에서 생성된 객체들은 같은 속성과 같은 오퍼레이션에 대한 정의를 갖는다. 메세지 객체들은 각각 독립적으로 존재하지만, 다른 객체와 서로 상호작용 하면서 소프트웨어를 운영한다.객체들 사이의 상호작용 수단이 바로 메세지이다. 메세지는 어떤 한 객체가 다른 객체에 특정 작업을 요청하는 신호이다.메세지를 보내는 ..
MFC 프로그래밍에 있어서 각 클래스의 상관관계는 굉장히 중요하다.우선 클래스별로 어떤 역할을 하는지 부터 알고 넘어가자. 데이터의 처리를 관리하는 Document 클래스와 데이터의 입출력을 관리하는 View, MainFrame 클래스 크게 두가지로 구분할 수 있겠다. 기존 MVC 패턴에 대하여 이해하고 있다면 습득이 훨씬 빠를 수 도 있다.(M에 해당하는 Model 은 MFC의 Document, V에 해당하는 View는 MFC의 View, MainFrame, C에 해당하는 Controller는 굳이 분류하자면 MFC의 MainFrame 클래스가 되겠다) View, MainFrame 클래스에서는 데이터의 입 출력을 담당하고 있는데, 화면이나 사용자로부터 어떠한 값을 입력받으려면 해당 클래스를 반드시 거쳐..
Invalidate() 이 함수는 CWnd에서 파생된 함수로써 View(CWnd에서 파생된 클래스에서) 클래스 안에서 실행이 가능하다. View클래스 안에있는 OnDraw() 함수는 WM_PAINT 메세지에 의해 호출되도록 만들어져 있다. 이러한 메세지를 사용자가 원하는 시점에 임의로 호출할 수 있게 해주는 방법중 하나가 Invalidate() 함수라고 할 수 있겠다. 이 함수는 호출한 클라이언트 윈도우의 화면을 무효화시킨다. 화면이 무효화되면 시스템은 WM_PAINT 메세지를 발생시킨다. 즉 원하는 윈도우의 화면을 강제로 갱신할 때 사용한다. 매개변수bErase : BOOL 타입의 변수인데, 윈도우 화면을 갱신할때 이 변수를 통해서 두가지 메세지를 이용할 수 있다. 기본적으로 WM_PAINT 메세지를 ..
기본적으로 Windows는 세가지 동적 연결 라이브러리로 구성된다.메모리와 프로그램을 관리하는 Kener유저인터페이스와 윈도우를 관리하는 User화면처리와 그래픽을 담당하는 GDI GDI는 풀어서쓰면 Graphic Device Interface 이다. (그래픽 장치 접근 혹은 접속 함수) GDI를 통해서 우리는 화면에 글을 쓰거나 그림을 넣을 수 있다.그러므로 GDI와 DeviceContext(DC)는 관계가 되어 있다는것을 알 수 있다. 일단 DC는 그냥 구조체 이다. 이 구조체 안에는 각종 멤버 함수들이 정보를 담고있는데 이 정보는 특정한 '하나의 윈도우' 에 대한 그래픽 정보 이다.예를들자면 폰트, 선의 색상, 굵기, 채움무늬, 그리기모드, 시작위치 등이다. 여기서 중요한 점은 '하나의 윈도우'에 ..
MFC에서 가장 중요한점은 각 클래스간의 참조 방법을 알고 사용하는것이다.------------------------------------------------------------------- 1. 각각의 헤더파일 포함. #include "MainFrm.h" // 메인프레임 #include "ClassDoc.h" // Doc 클래스, 반드시 View클래스 헤더파일보다 위에 존재해야 함. #include "ClassView.h" // View 클래스 #include "Class.h" // App 클래스 -------------------------------------------------------------------- 2. View 클래스에서 각 클래스 참조. // View → App CClassA..
객체와 인스턴스는 객체지향 프로그래밍에서는 거의 비슷한 개념으로 사용되지만 엄밀히 말하면 조금은 차이가 있는 개념이다. 객체지향 프로그래밍이 생성된 원인이 사람의 사고와 가장 비슷하게 프로그래밍을 하기 위해서라고 할 수 있다. 즉 우리 실생활의 모든 것들이 전부 객체로 이루어진 것이다. 넓은 의미에서의 객체라는 것은 보고 만질 수 있고, 이해할 수 있으며 생각이나 행동이 추구하는 바를 의미한다. 즉 객체라는 것은 우리가 인지 하고 있는 구체적인 사물이나 시스템이 될 수도 있고, 구체적이지만 물리적으로 경계가 모호한 강, 안개 등도객체라 할 수 있는 것이다. 인스턴스란, 예로 우리는 하나의 청사진이 되는 클래스를 정의하면 이 클래스에서 각각 구별이 되는 인스턴스를 얼마든지 만들어 낼 수 있는 것이다. 사람..
- Total
- Today
- Yesterday
- 파이썬예제
- 소켓
- 자료구조
- 티그널
- 디렉터리
- 파일
- C/C++
- 리눅스
- 프로세스
- 안드로이드
- 악보
- C
- MFC
- 클라이언트
- 유즈케이스
- socket
- 스레드
- 라즈베리파이
- 파이썬
- 소켓 프로그래밍
- 클래스
- 정렬
- 데이터베이스
- C++
- 티라노 시그널
- Sort
- 쓰레드
- 터미널
- 액터
- UML
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |