1
我发现像下面的一些示例代码,试图自定义滚动条颜色:如何自定义滚动条颜色?
HBRUSH CMainFrame::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CFrameWnd::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_SCROLLBAR)
return m_brColor;
return hbr;
}
我发现下面的代码不起作用:
procedure TForm1.WMCTLColor(var msg: TWMCTLCOLOR); message WM_CTLCOLOR;
我怎么能做到这一点在Delphi?
我试过,但它不起作用。只有当我的表单有TScrollBar时它才能工作吗?我的演示代码只有一个TMemo,并将ScrollBar设置为ssBoth –
显然,您需要将代码附加到正确的窗口!在这个问题中,我看不到任何关于TMemo的提及。你是如何期待我们知道的? –
@Leo - David是对的,你在问题中给出的代码是一个滚动条控件,你可以在IDE的标准组件工具面板中找到它。带有滚动条的备忘录是一个带有'WS_VSCROLL'和'WS_HSCROLL'样式的窗口,备忘录中没有单独的滚动条控件。您在问题中提供的代码或此答案中的代码都不适用于此类情况。 –