MFC 13

LINK : warning LNK4098: 'LIBCMT' defaultlib가 다른 라이브러리와 충돌합니다. /NODEFAULTLIB:library를 사용하십시오.

MFC 사용하다보면 자주 만나는 경고... 메시지.. 찾아보면 다음과 같이 해결책을 제시하고 있네... [출처] http://msdn.microsoft.com/ko-kr/library/6wtdswk0(VS.80).aspx 링커 도구 경고 LNK4098 오류 메시지 'library' defaultlib가 다른 라이브러리와 충돌합니다. /NODEFAULTLIB:library를 사용하십시오. defaultlib 'library' conflicts with use of other libs; use /NODEFAULTLIB:library 호환되지 않는 라이브러리에 링크하려고 했습니다. 참고 런타임 라이브러리에는 여러 형식이 혼합 사용되지 않도록 하는 지시문이 들어 있는데 여러 형식이나 디버그/비디버그 버전의 런타..

투명 비트맵 만들기..

void DrawTransparentBitmap(HDC hdc, HBITMAP hBitmap, LONG xStart, LONG yStart, COLORREF cTransparentColor) { BITMAP bm; COLORREF cColor; HBITMAP bmAndBack, bmAndObject, bmAndMem, bmSave; HBITMAP bmBackOld, bmObjectOld, bmMemOld, bmSaveOld; HDC hdcMem, hdcBack, hdcObject, hdcTemp, hdcSave; POINT ptSize; /* 초기화 작업 */ hdcTemp = CreateCompatibleDC(hdc); SelectObject(hdcTemp, hBitmap); // 비트맵 선택 GetO..

대화 상자 및 Windows 팁 모음

검색중 찾은 자료이다. 구글 번역으로 돌려서 번역이 매끄럽지 못하다.. 추후 시간 되는대로 수정 예정... 원문 : http://blog.csdn.net/andylin02/archive/2007/07/28/1712984.aspx 대화 상자 및 Windows 팁 저자 : lixiaosan 날짜 : 2006년 4월 11일 계속해서, 여기에 기사를 업데이 트를 방문하시기 바랍니다 참고 : 대화 상자에 다음 코드를 클래스로, 예를 들어위한, CTest6Dlg 전화 1. 작업 표시줄의 숨겨진 대화 상자ModifyStyleEx (WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); 2. 최상위 윈도우에 대한 대화 상자를 만들려면SetWindowPos (&이 - "wndTopMost, 0, 0, 0, 0,..

Warning: calling DestroyWindow in CDialog::~CDialog -- OnDestroy or PostNcDestroy in derived class will not be called.

MFC에서 다이얼로그를 띄운뒤에 VCL에서 하듯이.. if(AAA) { delete AAA; AAA = NULL; } 로 처리하면 다음과 같은 경고 메시지가 발생한다.. Warning: calling DestroyWindow in CDialog::~CDialog -- OnDestroy or PostNcDestroy in derived class will not be called. 이럴때는 한가지 작업을 더해주어야만 한다.. 정상 종료 시키고 메모리에서 없애주도록 하자... if(AAA != NULL) { (AAA)->DestroyWindow(); delete (AAA); (AAA) = NULL; }

You receive a "0xC0000005: Access Violation" error message when you call the CPropertySheet::DoModal method or the Create method in Visual C++

[원문] http://support.microsoft.com/kb/158552/en-us/ http://support.microsoft.com/kb/158552/ko CPropertySheet::DoModal() 또는 CPropertySheet::Create() 호출하면 예외가 발생할 수 있습니다. 현상 CPropertySheet::DoModal() 또는 CPropertySheet::Create() 호출하면 예외가 발생할 수 있습니다. 출력 창에 다음 메시지가 표시됩니다. (Comctl32.dll) 에서 첫 번째 예외가: 0xC0000005: 액세스 위반. 예상되는 예외와 운영 체제에 의해 처리됩니다. 이 경우에만 이러한 방법 중 하나를 호출하면 처음 발생하여 호출에서는 이 첫 번째 예외가 생성되지 않습..

[펌] 다중 쓰레드 동기화

쓰레드 동기화 오브젝트 (Thread Synchronization Objects) 쓰레드가 2개 이상 실행될 때 여러 가지 변수가 있습니다. 하나의 공유자원(예를 들어 동시에 접근하는 변수) 에 접근할 때, 파일 입출력 이나 디바이스I/O작업을 할 때 동기화 오브젝트가 필요합니다. 동기화 오브젝트 없이 쓰레드가 공유 자원을 사용할 때 공유자원이 원치 않은 값이 될수 있고, I/O작업 시 쓰레드가 I/O작업이 끝날 때 까지 무한정 블로킹(blocking : 특정 함수가 리턴 될 때 까지 기다림)현상이 발생할 수 있습니다. 동기화 오브젝트를 사용하여 다중 쓰레드에서 어떻게 안전 하게 공유자원에 접근하고 다른 쓰레드간의 실행 순서등을 조작하는지에 대해 알아 보겠습니다. 동기화 오브젝트는 유저 모드와 커널 모드..

Halcon 사용 예제 - 팁의 일부 마크 중심에서 떨어진 값 구하기

gray_dilation_shape(m_hoSource, &ImageMax, 1.5, 1.5, "rectangle"); // Gray Level 확장 threshold(ImageMax, &Region, 140, 255); // Threshold 찾기 connection(Region, &ConnectedRegions); // 지정영역연결 HTuple lStart[2], lLast[2]; // 영역지정값 // 찾을영역지정 lStart[0] = (m_htImgWidth / 2) - (lTipRgnWidth * 0.5 * PIXEL_UNIT_ANTI); // 좌상단 위치 지정 (가로) lStart[1] = (m_htImgHeight / 2) - (lTipRgnHeight * 0.5 * PIXEL_UNIT_ANT..

Halcon 사용 예제 - 사각형 마크 중심에서 떨어진 값 구하기

* 사각형 마크 중심에서 떨어진 값 구하기 gray_dilation_shape(m_hoSource, &ImageMax, 1.5, 1.5, "rectangle"); // Gray Level 확장 threshold(ImageMax, &Region, 0, 75); // Threshold 찾기 connection(Region, &ConnectedRegions); // 지정영역연결 select_shape(ConnectedRegions, &SelectedRegions1, "width", "and",140, 205); // 지정크기영역만찾기(너비) select_shape(SelectedRegions1, &SelectedRegions2, "height", "and",140, 205); // 지정크기영역만찾기(높이) s..

Halcon 사용 예제 - 십자 마크 중심에서 떨어진 값 구하기

* 십자 마크 중심에서 떨어진 값 구하기 gray_dilation_shape(m_hoSource, &ImageMax, 1.5, 1.5, "rectangle"); // Gray Level 확장 threshold(ImageMax, &Region, 200, 255); // Threshold 찾기 connection(Region, &ConnectedRegions); // 지정영역연결 select_shape(ConnectedRegions, &SelectedRegions1, "width", "and",300, 400); // 지정크기영역만찾기(너비) select_shape(SelectedRegions1, &SelectedRegions2, "height", "and",300, 400); // 지정크기영역만찾기(높이)..