본문 바로가기
VisualStudio.C++.C#/코딩팁,함수활용,단편

MFC. picture control

by 리치굿맨 2016. 11. 19.

 

Picture Control 활용기본. Bitmap 표현하기.

 

1. 대화상자에 ToolBox 에서 Picture Control 선택하여 배치.
 

2. 배치된 Picture Control 의 속성창에서 ID 값 지정하기.
 
3. BMP 를 표현하기 위하여 Picture Control 속성중 Type 을 Bitmap 으로 선택.
- Bitmap 으로 선택하면 대화상자에 배치한 Picture Control 의 모양이 아래처럼 변경된다.

 
4. Picture Control 속성창의 Image 에서 비트맵 아이디 선택한다. 
 
- 비트맵 아이디란 프로젝트 Resource View 의 Bitmap 으로 등록된 것의 아이디를 의미한다.
상세정보 : MFC 프로젝트 리소스에 Bitmap 추가하기 -> http://igotit.tistory.com/751
 
- 비트맵 아이디 기록하면 해당 이미지가 Picture Control 에 표현된다.
 

코드에서 Picture Control 핸들링하기.

 
1. 코드에서 Pciture Control 접근하기 위한 Variable 추가.
 
예 : m_PCMyImage
 
2. 코드내에서 비트맵 이미지 지정하기.
 
m_PCMyImage.SetBitmap(hBitmap);
<- 여기서 hBitmap 은 자료형 HBITMAP. 이며 표현할 비트맵을 hBitmap 으로 받아둔 것이어야 한다.

 

코드예.  - 이미지 파일 읽어서 표현하기. 


	CImage c_image; 
	c_image.Load(L"img_exchange_bybit.png");
	HBITMAP h_bmp = (HBITMAP)c_image; 

	m_PCMyImage.SetBitmap(h_bmp);

 

 

 

 

 

Picture Control  이벤트 처리방법

 

1. 속성의 Notify 항목을 True 로 해둔다.
- 이 값이 true여야 picture control에 의한 이벤트 발생 가능.
2. 사용할 이벤트 처리기 추가한다.
아래와 같은 5종의 이벤트가 있다.

 

 

 

Picutre Control 에 일반적인 Mouse 이벤트 모두 처리가능하게 하기.

 

앞의 방식으로는 일반적인 마우스 이벤트 처리 불가능하다. 즉, 마우스 왼쪽 버튼 다운/업,  오른쪽 버튼 다운//업 등의 이벤트 처리 못한다.
 
해결책.
가상함수 PreTranslateMessage 추가하여 아래처럼 코드작성하면 일반적인 마우스 이벤트 모두 처리가능하다.
 

BOOL CCyChartView::PreTranslateMessage(MSG* pMsg)
{
    switch (pMsg->message)
    {
    case WM_LBUTTONDOWN:
        if (pMsg->hwnd == GetDlgItem(IDC_CHARTDIR_BOT3)->GetSafeHwnd())
            AfxMessageBox(_T("L down in picture control"));

        break;

    case WM_LBUTTONUP:
        if (pMsg->hwnd == GetDlgItem(IDC_CHARTDIR_BOT3)->GetSafeHwnd())
            AfxMessageBox(_T("L up in picture control"));

        break;
    }

    // TODO: Add your specialized code here and/or call the base class

    return CFormView::PreTranslateMessage(pMsg);
}
 
 

 

 

 

 

 

 

 

상위 정리글 

 

Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11

 

Visual Studio , Visual C++ 활용 정리.

Visual Studio C++ 활용 Visual Studio Visual C++ / C# 1.설치, 설정  주제  비고.  Visual Studio 2010 설치.  Visual Studio 2013 (Community)무료 설치.  Visaul Studio 2015 (Community)무료 설치...

igotit.tistory.com

 

 

 


첫 등록 : 2016.11.29

최종 수정 : 2022.04.27

단축 주소 : https://igotit.tistory.com/1106


 

 

 

'VisualStudio.C++.C# > 코딩팁,함수활용,단편' 카테고리의 다른 글

MFC. png 이미지 파일 읽기.  (0) 2017.02.21
MFC. 마우스.  (0) 2016.11.21
MFC. picture control  (0) 2016.11.19
def 파일로 lib 파일 만들기.  (0) 2016.10.15
memmove. 배열 시프트.  (0) 2016.10.14
MFC. User Interface Thread 구현.  (0) 2016.09.22

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT