[Visual C++] tip

spring·2020년 11월 9일
0

[MFC] tip1

###마우스 커서 변경
헤더 파일에 HCURSOR 변수 2개 선언
HCURSOR 자료형의 변수가 지역변수이면 안됨)

커서 변경
m_cursor = LoadCursor(nullptr, IDC_ARRAW);
m_recovery = ::SetCursor(m_cursor);
원래의 커서로 복귀
::SetCursor(m_recovery);

콘솔창 생성

#ifdef _DEBUG
	if (!AllocConsole())
	{
		AfxMessageBox(_T("Failed to create the console!"), MB_ICONEXCLAMATION);
	}else{
        FILE* fp = NULL;
        freopen_s(&fp,"CONOUT$", "w", stdout);
    }
#endif
#ifdef _DEBUG
	if (!FreeConsole())
	{
		AfxMessageBox(_T("Failed to free the console!"), MB_ICONEXCLAMATION);
	}
#endif

MFC DLL 만들기 & 사용

New Project -> MFC -> MFC DLL -> MFC extension DLL 선택

클래스 작성

아래와 같이 AFX_EXT_CLASS를 추가한다.

class AFX_EXT_CLASS AAA{
	/*...*/
};
##### DLL 사용
`h,lib.dll`이 필요함
#include"dll.h"
#pragma comment(lib,"dll.lib")

윈도우 크기조정(마우스)

view 에서 MouseMove 에서 호출해주면 된다.

CView.cpp
AfxGetMainWnd()->SendMessage(WM_NCLBUTTONDOWN, HTBOTTOMRIGHT);
  • HTTOP : 크기조정 가능한 윈도우의 위쪽 경계
  • HTBOTTOM : 크기조정 가능한 윈도우의 아래쪽 경계
  • HTLEFT : 크기조정 가능한 윈도우의 왼쪽 경계
  • HTRIGHT : 크기조정 가능한 윈도우의 오른쪽 경계
  • HTTOPLEFT : 크기조정 가능한 윈도우의 왼쪽 위 경계
  • HTTOPRIGHT : 크기조정 가능한 윈도우의 오른쪽 위 경계
  • HTBOTTOMLEFT : 크기조정 가능한 윈도우의 왼쪽 아래 경계
  • HTBOTTOMRIGHT : 크기조정 가능한 윈도우의 오른쪽 아래 경계

윈도우 크기조정(SetWindowPos)

이 함수는 CWnd::SetWindowPos 를 이용해야 한다.

윈도우 최소/최대 크기 제한

Frame 에서 OnGetMinMaxInfo(MINMAXINFO* lpMMI); 함수에서 설정한다.

http://moguwai.tistory.com/entry/%EC%86%8C%EC%8A%A4-%ED%85%8C%EB%91%90%EB%A6%AC-%EC%97%86%EA%B3%A0-%ED%81%AC%EA%B8%B0-%EC%A1%B0%EC%A0%88-%EA%B0%80%EB%8A%A5%ED%95%98%EB%A9%B0-%EC%9B%80%EC%A7%81%EC%9D%BC-%EC%88%98-%EC%9E%88%EB%8A%94-%ED%88%AC%EB%AA%85-%EB%8B%A4%EC%9D%B4%EC%96%BC%EB%A1%9C%EA%B7%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0
http://jongwook.tistory.com/617

주 모니터 해상도 구하기

int width = GetSystemMetrics(SM_CXSCREEN);
int height = GetSystemMetrics(SM_CYSCREEN);

윈도우 창 움직이기

AfxGetMainWnd()->SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));

BMP 파일 출력/픽셀단위로 가져오기

http://purestarman.tistory.com/118

http://blog.naver.com/dolicom/10095836774

profile
Researcher & Developer @ NAVER Corp | Designer @ HONGIK Univ.

0개의 댓글