mfc_pattern_brush - 8BitsCoding/RobotMentor GitHub Wiki


// Dlg.h
CBrush m_my_brush;
CBrush m_num_brush;
void CMFCApplication1Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
	CClientDC dc(this);

	CBrush * p_old_brush = dc.SelectObject(&m_my_brush);
	dc.SetBrushOrg(point.x - 24, point.y - 24);
	// dc.Rectangle(point.x-24, point.y-24, point.x+24, point.y+24);
	dc.Ellipse(point.x - 24, point.y - 24, point.x + 24, point.y + 24);
	dc.SelectObject(p_old_brush);

	CDialogEx::OnLButtonDown(nFlags, point);
}
void CMFCApplication1Dlg::OnMouseMove(UINT nFlags, CPoint point)
{
	/*
	if (nFlags & MK_LBUTTON) {
		if (point.x < 160 && point.y < 48) {
			CClientDC dc(this);

			CBrush * p_old_brush = dc.SelectObject(&m_num_brush);
			CGdiObject * p_old_pen = dc.SelectStockObject(NULL_PEN);
			dc.Rectangle(point.x - 5, point.y - 5, point.x + 5, point.y + 5);
			dc.SelectObject(p_old_brush);
			dc.SelectObject(p_old_pen);
		}
	}
	*/

	CDialogEx::OnMouseMove(nFlags, point);
}
void CMFCApplication1Dlg::OnPaint()
{
	CPaintDC dc(this); // 그리기λ₯Ό μœ„ν•œ λ””λ°”μ΄μŠ€ μ»¨ν…μŠ€νŠΈμž…λ‹ˆλ‹€.

	if (IsIconic())
	{
        // ...
	}
	else
	{
		// CBrush * p_old_brush = dc.SelectObject(&m_my_brush);
		// dc.Rectangle(0, 0, 200, 200);
		dc.FillSolidRect(0, 0, 160, 48, RGB(218, 218, 218));
		// dc.SelectObject(p_old_brush);
		// CDialogEx::OnPaint();
	}
}
BOOL CMFCApplication1Dlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// 이 λŒ€ν™” μƒμžμ˜ μ•„μ΄μ½˜μ„ μ„€μ •ν•©λ‹ˆλ‹€.  μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ μ£Ό 창이 λŒ€ν™” μƒμžκ°€ 아닐 κ²½μš°μ—λŠ”
	//  ν”„λ ˆμž„μ›Œν¬κ°€ 이 μž‘μ—…μ„ μžλ™μœΌλ‘œ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
	SetIcon(m_hIcon, TRUE);			// 큰 μ•„μ΄μ½˜μ„ μ„€μ •ν•©λ‹ˆλ‹€.
	SetIcon(m_hIcon, FALSE);		// μž‘μ€ μ•„μ΄μ½˜μ„ μ„€μ •ν•©λ‹ˆλ‹€.

	// TODO: 여기에 μΆ”κ°€ μ΄ˆκΈ°ν™” μž‘μ—…μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

	CBitmap my_bmp, num_bmp;
	my_bmp.LoadBitmapW(IDB_TH_IMAGE);
	num_bmp.LoadBitmapW(IDB_NUM_IMAGE);

	m_my_brush.CreatePatternBrush(&my_bmp);
	m_num_brush.CreatePatternBrush(&num_bmp);

	return TRUE;  // 포컀슀λ₯Ό μ»¨νŠΈλ‘€μ— μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ TRUEλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
}