问题标签 [custom-draw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
757 浏览

winapi - ListView Custom Draw - 单个单元格内的多色文本?

据我所知,您可以在列表视图中使用自定义绘图来使用 CDDS_SUBITEM 以您想要的方式绘制单个单元格。

但是,我想在一个单元格中有多色文本。也就是说,例如,我想将一个单元格的文本设置为:“这个程序被称为[开始红色文本]红色程序[结束红色文本]” - 有没有办法做到这一点?

0 投票
1 回答
3615 浏览

c# - DatagridViewComboBoxColumn 的自定义绘制

我正在使用 a DataGridViewDataGridViewComboBoxColumn我需要在组合框项目的左侧添加图标。我目前正在使用EditingControlShowing事件和ComboBox.DrawItem事件,如下所示:

问题是只有在单元格处于编辑模式时才会绘制图标。只要我单击单元格外部的某个位置,CellEndEdit就会触发事件并且重新绘制单元格(没有图标)。

我尝试使用该DataGridView.CellPainting事件来解决此问题,但它会导致下拉按钮DataGridViewComboBoxColumn消失。

在用户完成编辑单元格后如何绘制图标的任何想法?

0 投票
2 回答
1202 浏览

c# - TabControl 中的缩进选项卡

我最好说明我想要实现的目标。

原文: 要求:

原始标签                 所需的标签位置

任何想法如何以这种方式绘制标签?谢谢。

0 投票
1 回答
228 浏览

animation - 自定义绘图时如何在 UIView 中启用隐式动画?

我使用以下方法在我的 UIView 子类中执行自定义绘图:

绘图更改时如何启用隐式动画?

0 投票
2 回答
2585 浏览

vb6 - 在自定义绘制的窗口标题中启用 Aero Glass (WM_NCPAINT, DwmSetWindowAttribute)

几年前,我们开发了一个名为 CaptionX(CaptionX 主页)的 ActiveX 组件。它允许开发人员将自定义的可点击图形按钮放置到窗口标题栏中。当 Aero Glass 开启时,在除 Vista 和 Windows 7 之外的任何 Windows 中一切正常 - 绘制带有自定义图标的标题栏,就像我们使用 Windows Basic 主题一样,没有窗口边框的透明效果。

人们希望在最新版本的操作系统中使用 CaptionX,但我们无法使其正常工作。Internet 上的所有搜索都告诉我们,当我们使用带有 DWMWA_NCRENDERING_POLICY 属性的 DwmSetWindowAttribute API 调用在窗口标题中使用自定义绘图时,我们需要启用 Aero Glass,但我们还没有设法使其工作。

我们在窗口的非客户端表面上绘制的代码如下所示(抱歉 - 这是旧的 VB6 :):

我们添加了以下调用

到我们代码中的很多地方,但它没有任何效果。如果使用 DwmSetWindowAttribute 在窗口中默认使用 Aero Glass 效果,我们可以禁用它,但不能启用它。

我们做错了什么?我们是否需要在代码中添加更多 API 调用,如果需要,在哪里?

0 投票
1 回答
1625 浏览

c# - 使用 DataGridViewComboBoxColumn 在 DataGridView 中显示选定的图像?

我在使用 DataGridView 和 DataGridViewComboBoxColumn 让用户从图像列表中选择图像时遇到问题。在标题为“DatagridViewComboBoxColumn 的自定义绘制”参考链接的问题中的讨论之后。我也面临这个问题,因为仅在单元格处于编辑模式时才绘制图像。当我单击组合框单元格外的某个位置时,所选图像将消失!我已经实现了 CellPainting 事件来重绘图像,但仍然无法解决问题。我使用以下代码测试了 DataGridViewComboBoxColumn:

如果我单击 DataGridView 的其他单元格,则单元格将显示“test0”而不是 Images[0]。请您帮忙解决这个问题。非常感谢。

0 投票
1 回答
125 浏览

c++ - 如何理解定制绘制?我可以使用哪些工具?

我想知道漂亮的 UI 程序使用的工具?

0 投票
1 回答
685 浏览

c# - 自定义绘制选择矩形

我正在开发基于 ListView 控件的自定义控件。该控件的目标是在第一列中显示事件名称,并在第二列的时间线上显示事件持续时间。我已经为时间线部分实现了自定义绘图,并且一切正常。

现在我想实现一个“缩放”功能。用户可以在第二列上单击某处的位置拖动鼠标,释放时时间线将放大,开始和结束时间与 mousedown/mouseup 事件匹配。

目前,当我单击/拖动鼠标时,会出现一个正常的选择框。我想忽略这一点,这样我得到的不是一个框,而是更多的垂直区域(因此选择仅基于时间轴轴)。

我真的不知道在哪里看以及如何覆盖选择框的绘图。任何指针/示例代码将不胜感激。

0 投票
2 回答
1466 浏览

c++ - 在 NMLVCUSTOMDRAW C++ 中获取列 ID

我需要获取将绘制的列 ID。这是我的一些代码,我尝试获取项目 ID 和列 ID 以使用 ListView_GetItemText 并设置要绘制的项目的正确颜色。

0 投票
2 回答
4562 浏览

delphi - 将图形栏添加到 StringGrid col

使用 Delphi 2010 和 TStringGrid 组件,我目前显示来自数据库查询的五个字段。

这是我正在做的一个简单示例

//设置网格

//在网格中显示数据 //注意,我没有显示查询的创建、执行或销毁

其中一列(“五”)需要在列中显示一个深蓝色水平条。它还应该在栏中显示一些居中的文本。我没有使用自定义绘图的经验。我将哪些属性设置为仅自定义绘制一列并为其他列使用默认绘图?