인터넷 HTML 소스 얻기 VisualStudio2017 프로젝트 유니코드 문자집합 인터넷 검색해서 얻은 HTML소스에 한글이 포함되어 있으면, 멀티코드 문자집합에서는 한글 깨짐 없이 잘 되던것이 유니코드 문자집합으로 변경하니 한글이 깨진다. http://petra.tistory.com/1252 코드 162행에서 사용한 Convert_UTF8_toASCII() 에서 UTF8->UNICODE->ASCII 바꿔주는 함수에서 UTF8->UNICODE 로 코드 수정한다. 문제는 멀티바이트일때와 유니코드일때 각각 다른 함수 인자의 데이터형이 필요해서 #ifdef _UINICODE 로 구분해서 각각의 함수가 사용하도록 하여 MFC 프로젝트 문자집합이 어느것이라도 한글 깨짐없이 얻게된다. 웹에서 얻은 HTML소스를 ..
https://slidesplayer.org/slide/14033746/ 이외 MDI 구조 슬라이드 확인하기
MFC UI 쓰레드 아래 4단계로 만든다. 1, 쓰레드 구현할 UI쓰레드 클래스를 CWinThread로 부터 상속받아 추가 (그림1) 2. 쓰레드 안에서 만들 윈도우 클래스를 CWnd(CFrameWnd)를 상속받아 추가하고 메시지를 처리한다. (그림2) 3. 1번에서 만든 UI쓰레드 클래스에 InitInstance()를 재정의하고 2번에서 정의한 윈도우 클래스를 이용하여 윈도우를 생성한다. (코드 13~24행) DECLARE_DYNCREATE(CUIThread) 와 IMPLEMENT_DYNCREATE(CUIThread, CWinThread) 선언도 필요함 (그림3, 4) 4. AfxBeginThread() 호출하여 스레드 시작, 이때 1번에서 생성한 UI쓰레드 클래스의 CRuntimeClass를 AfxB..
Thread TLS(Thread Local Storage) 쓰레드 TLS, 스레드 TLS TLS : 쓰레드 안에서 서로 다른 함수들이 공유하는 전역변수를 말한다. 1. WIN32 TLS 프로세스는 TLS Bit Flag 라는 배열을 1개 갖고, 각 쓰레드마다 TLS 배열을 가지고 있다. 이때 모든 배열의 크기는 동일하며, Win95/NT 는 64개, Win98/Me 는 80개, Win2000/XP 는 1088 개의 배열 크기를 갖는다. 쓰레드가 TLS변수를 사용하려면 TlsAlloc() 로 TLS BIT FLAG 라는 배열 요소값이 FREE(사용하지 않는) 를 찾아 INUSE로 바꾸고, 인덱스를 반환한다. 그러면 다른 쓰레드는 반환된 인덱스를 사용하지 못하고, 할당 받은 쓰레드에서만 사용 가능하다. 그래..