본문 바로가기
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
def 파일로 lib 파일 만들기.  (0) 2016.10.15
memmove. 배열 시프트.  (0) 2016.10.14
MFC. User Interface Thread 구현.  (0) 2016.09.22

댓글0


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