Re: Replace Titlebar with Region ?
I tried your suggestion, and only the top border and the left border will
drag the dialog. And I can't see anything in the code for this problem.
Here is the code -
=====
class CBmpBkgdTBarDlg
{
private:
CArray<CRect,CRect&> rectArray;
}
=====
BOOL CBmpBkgdTBarButtonsDlg::OnInitDialog()
{
CRect r;
m_cTopBorder.GetWindowRect(&r);
m_cTopBorder.ScreenToClient(&r);
rectarray.Add(r);
m_cLeftBorder.GetWindowRect(&r);
m_cLeftBorder.ScreenToClient(&r);
rectarray.Add(r);
m_cRightBorder.GetWindowRect(&r);
m_cRightBorder.ScreenToClient(&r);
rectarray.Add(r);
m_cBottomBorder.GetWindowRect(&r);
m_cBottomBorder.ScreenToClient(&r);
rectarray.Add(r);
}
=====
UINT CBmpBkgdTBarButtonsDlg::OnNcHitTest(CPoint point)
{
CPoint ptClient(point);
ScreenToClient(&ptClient);
for(int i = 0; i < 4; i++)
{
if(rectArray[i].PtInRect(ptClient))
return HTCAPTION;
}
return CDialog::OnNcHitTest(point);
}
=====
"David Ching" <dc@remove-this.dcsoft.com> wrote in message
news:m2Mmi.26531$2v1.15313@newssvr14.news.prodigy.net...
"cdg" <anyone@anywhere.com> wrote in message
news:avLmi.171821$Sa4.2794@bgtnsc05-news.ops.worldnet.att.net...
I just used the debugger and the values for any rectangles in the
array
were 0.
Maybe when you called .Add() it put them after the items the ones which
were
created when you called .SetSize(). Remove the call to .SetSize() and see
if that works.
-- David