gpt4 book ai didi

winapi - 在 CDialog 中显示大小控制?

转载 作者:行者123 更新时间:2023-12-04 13:05:06 24 4
gpt4 key购买 nike

我看过处理这个东西的绘图的代码 (DFCS_SCROLLSIEGRIP),但肯定有一种窗口样式,我可以应用它“免费”获取它。对吧?

最佳答案

代替更好的答案,我将发布我拥有的代码,该代码绘制尺寸夹点并处理 HitTest 。您还需要在 OnSize 期间使适当的区域无效,以便重新绘制它。

BOOL CMyDialog::OnEraseBkgnd(CDC* pDC)
{
if (CDialog::OnEraseBkgnd(pDC))
{
// draw size grip
CRect r;
GetClientRect(&r);
int size = GetSystemMetrics(SM_CXVSCROLL);
r.left = r.right - size;
r.top = r.bottom - size;
pDC->DrawFrameControl(&r, DFC_SCROLL, DFCS_SCROLLSIZEGRIP);
return TRUE;
}
else
{
return FALSE;
}
}

-

LRESULT CMyDialog::OnNcHitTest(CPoint point)
{
// return HTBOTTOMRIGHT for sizegrip area
CRect r;
GetClientRect(&r);
int size = GetSystemMetrics(SM_CXVSCROLL);
r.left = r.right - size;
r.top = r.bottom - size;
ScreenToClient(&point);

if (r.PtInRect(point))
{
return HTBOTTOMRIGHT;
}
else
return CDialog::OnNcHitTest(point);
}

来源:http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.ui/2006-01/msg00103.html

关于winapi - 在 CDialog 中显示大小控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com