MFC에서 프로젝트를 FormView를 쓰면 화면 전환시에 사용하는 법은 다음과 같이 난 작성한다...

메인폼에 사용자 메시지를 받을 수 있는 함수를 다음과 같이 작성한다..

이런식의 함수를 사용하고자 하는 곳에서...

::SendMessage(AfxGetMainWnd()->m_hWnd, UM_MENUCHANGE, IDD_LDP_CAL_FORM, NULL);

이런식으로 호출해서 폼이 바뀌는방식을 주로 쓴다..


그리고 C++ 빌더에서는 다음과 같이 사용한다...
1. 이전 화면이 있으면 삭제..
2. 화면 호출 및 생성
3. 화면 크기를 메인폼에 맞게 수정..(Resize 함수 이용)

다음과 같이 처리한다... 어떤 방식이 더 낫다고 볼 수 없다..

어차피, 결과는 똑같으니까..

그런데.. 난 VCL 방식으로 처리하는게 더 좋다.. 왜... 간단하니까....

-2006.06.29 -

 

< IplImage >

- OpenCV의 이미지 구조체


// 선언하기 (1차포인터 선언)

 IplImage *pSample = NULL;


// 이미지 로드하기

// cvLoadImage 함수를 이용해서 로드

// 두번째 인자는 양수값이면 강제로 3칼라(RGV), 0이면 강제로 흑백, 음수값이면 이미지 원래의 칼라를 따름

 pSample = cvLoadImage("sample.jpg", 1);
 

// 이미지 세이브하기

// 두번째 인자에 IplImage의 형태는 2차포인터이므로 &pSample 임

int cvSaveImage( char*형 파일이름, &pSample );

 

// 이미지 복사

// 빈 포인터 하나 만들고

IplImage *pCopySample = NULL;

 
//  같은 싸이즈로 빈 이미지를 하나 만들고

pCopySample = cvCreateImage( cvSize(pSample->width, pSample->height) ,IPL_DEPTH_8U, pSample->nChannels );

 

// OPENCV 소스에 있던 내용인데요 origin이 IPL_ORIGIN_TL에 따라 그냥 복사.. 혹은 Flip 시킴

if( image->origin == IPL_ORIGIN_TL )

{
     cvCopy( image, frame_copy, 0 );

}
else
{
     cvFlip( image, frame_copy, 0 );

}

// 복사후 필요없으면 pSample, pCopySample 모두 해지할것...

 

// 닫기

// 릴리즈함수

ReleaseImage( &pSample );

+ Recent posts