Re: how to create borderless(or thin border) resizable dialog box like gtalk ?
And here it is for a window without a border:
BEGIN_MESSAGE_MAP(CBorderLessResizeDlg, CDialog)
ON_WM_NCHITTEST()
END_MESSAGE_MAP()
UINT CBorderLessResizeDlg::OnNcHitTest(CPoint point)
{
UINT lRet = HTCLIENT;
CRect rcClient, rcFrame;
GetWindowRect(&rcFrame);
rcClient = rcFrame;
CSize
sizeBorder(GetSystemMetrics(SM_CXBORDER),GetSystemMetrics(SM_CYBORDER));
rcClient.InflateRect(-(2*sizeBorder.cx), -(2*sizeBorder.cy));
rcFrame.InflateRect(sizeBorder.cx, sizeBorder.cy);
if (rcFrame.PtInRect(point))
{
if (point.x > rcClient.right)
{
if (point.y < rcClient.top)
{
lRet = HTTOPRIGHT;
}
else if (point.y > rcClient.bottom)
{
lRet = HTBOTTOMRIGHT;
}
else
{
lRet = HTRIGHT;
}
}
else if (point.x < rcClient.left)
{
if (point.y < rcClient.top)
{
lRet = HTTOPLEFT;
}
else if (point.y > rcClient.bottom)
{
lRet = HTBOTTOMLEFT;
}
else
{
lRet = HTLEFT;
}
}
else if (point.y < rcClient.top)
{
lRet = HTTOP;
}
else if (point.y > rcClient.bottom)
{
lRet = HTBOTTOM;
}
}
return lRet;
}
AliR.
"AliR (VC++ MVP)" <AliR@online.nospam> wrote in message
news:J0Kdk.10315$LG4.4800@nlpi065.nbdc.sbc.com...
For think border it is easy.
BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog();
ModifyStyle(0,WS_SIZEBOX);
return TRUE;
}
Of course this will not work if you don't have a border.
AliR.
"shoeb" <shoeb@octro.com> wrote in message
news:unM7Hlx4IHA.3480@TK2MSFTNGP03.phx.gbl...
Hi all,
I need to create a thin border dialog box that can be resized
just like gtalk. can you please suggest how to do this ?
Regards,
Shoeb