mfc_custom_window_2 - 8BitsCoding/RobotMentor GitHub Wiki
μμ κ·Έλ¦¬κ³ κ°μ΄λ°λ₯Ό λΆν¬λͺ νκ² μ μ
ν¬λͺ λ μ€μ μ μν΄μ Layeredλ₯Ό Trueλ‘ λλ€.
BOOL CMFCApplication1Dlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// μ΄ λν μμμ μμ΄μ½μ μ€μ ν©λλ€. μμ© νλ‘κ·Έλ¨μ μ£Ό μ°½μ΄ λν μμκ° μλ κ²½μ°μλ
// νλ μμν¬κ° μ΄ μμ
μ μλμΌλ‘ μνν©λλ€.
SetIcon(m_hIcon, TRUE); // ν° μμ΄μ½μ μ€μ ν©λλ€.
SetIcon(m_hIcon, FALSE); // μμ μμ΄μ½μ μ€μ ν©λλ€.
// TODO: μ¬κΈ°μ μΆκ° μ΄κΈ°ν μμ
μ μΆκ°ν©λλ€.
CRgn rgn;
rgn.CreateEllipticRgn(0,0,200,200);
SetWindowRgn(rgn, TRUE);
SetBackgroundColor(RGB(0, 200, 255));
SetLayeredWindowAttributes(RGB(255,0,0), 80, LWA_ALPHA | LWA_COLORKEY);
// λΆμμμ ν¬λͺ
νκ² ν΄λ¬λΌ
return TRUE; // ν¬μ»€μ€λ₯Ό 컨νΈλ‘€μ μ€μ νμ§ μμΌλ©΄ TRUEλ₯Ό λ°νν©λλ€.
}
void CMFCApplication1Dlg::OnPaint()
{
CPaintDC dc(this); // 그리기λ₯Ό μν λλ°μ΄μ€ 컨ν
μ€νΈμ
λλ€.
if (IsIconic())
{
// ...
}
else
{
dc.SelectStockObject(DC_BRUSH);
dc.SetDCBrushColor(RGB(255, 0, 0));
dc.SelectStockObject(NULL_PEN);
dc.Ellipse(30, 30, 170, 170);
CPen grid_pen(PS_DOT, 1, RGB(0, 0, 128));
CPen * p_old_pen = dc.SelectObject(&grid_pen);
dc.SetBkColor(TRANSPARENT);
dc.MoveTo(100, 30);
dc.LineTo(100, 170);
dc.MoveTo(30, 100);
dc.LineTo(170, 100);
dc.SelectObject(p_old_pen);
grid_pen.DeleteObject();
// CDialogEx::OnPaint();
}
}