MFC없이 일반 C++을 사용하여 응용 프로그램을 구현하고 있습니다. 맞춤 최소/최대/닫기 버튼을 추가하고 싶습니다.사용자 정의 최소 최대 닫기 버튼 구현
아래 코드는 제가 사용했던 코드입니다. HTCAPTION 및 기타 테두리 관련 정의에 대해서는 과 같이 작동하지만 HTMINBUTTON, HTMINBUTTON, HTCLOSE는 같은 방식으로 작동하지 않습니다. NCHITTEST를 적용하려면 구현해야 할 것이 있습니까?
// Defining min/max/close
if ((p.x > rt.right - 130) && (p.x < rt.right - 104) &&
(p.y > 41) && (p.y < 67))
return HTMINBUTTON;
else if ((p.x > rt.right - 100) && (p.x < rt.right - 74) &&
(p.y > 41) && (p.y < 67))
return HTMAXBUTTON;
else if ((p.x > rt.right - 70) && (p.x < rt.right - 44) &&
(p.y > 41) && (p.y < 67))
return HTCLOSE;
// Defining window border and caption
else if ((p.x > EDGE) && (p.x < rt.right-EDGE) &&
(p.y > EDGE) && (p.y < rt.bottom-EDGE))
return HTCAPTION;
else if (p.x <= EDGE && p.y <= EDGE)
return HTTOPLEFT;
else if (p.x <= EDGE && p.y >= rt.bottom - EDGE)
return HTBOTTOMLEFT;
else if (p.x >= rt.right - EDGE && p.y <= EDGE)
return HTTOPRIGHT;
else if (p.x >= rt.right - EDGE && p.y >= rt.bottom - EDGE)
return HTBOTTOMRIGHT;
else if (p.x <= EDGE)
return HTLEFT;
else if (p.x >= rt.right - EDGE)
return HTRIGHT;
else if (p.y <= EDGE)
return HTTOP;
else if (p.y >= rt.top - EDGE)
return HTBOTTOM;
else
return DefWindowProc(hWnd, message, wParam, lParam);
나는이 기사가 당신이하고있는 것과 비슷한 것을하고 있다고 생각한다 : http://www.codeproject.com/Articles/3728/C-does-Shell-Part-3 – gideon
그것은 그렇게 본다. 그러나 그렇지 않다. C++ 소스. 여전히 적용 가능합니까? 나는 C#에 익숙하지 않다. –