vb6 - 更改 vbalGrid 上的标题字体
问题描述
我正在维护一个 VB6 应用程序,该应用程序广泛使用旧的 VBAccelerator SGrid 2.0(vbalGrid,使用另一个 Grid 控件并不是一个真正的选择)。我需要在运行时更改网格字体,而我似乎没有做任何事情来更改标题字体,只有在设计时更改网格控件 Font 属性似乎实际上会更改字体。
这是我尝试过的代码,我认为它会起作用:
Dim Fnt As New StdFont
Set Fnt = vbalGrid.Font
Fnt.Name = "MS Sans Serif"
Set vbalGrid.Font = Fnt
这可以很好地设置网格主体的字体,但是如果网格已经有数据,您必须清除并重新填充网格。但是,即使您清除所有列并重新创建它们,标题也不会改变。
解决方案
看起来Property Set Font
例程中有一个错误——它没有调用BuildMemDC
使其缓冲的输出 DC 无效。
尝试RowHeight(1) = RowHeight(1) + 1
或类似的轻推以强制BuildMemDC
被叫。您必须增加其内部m_lMaxRowHeight
变量上方某行的高度才能启动重建。
推荐阅读
- orientdb - 是否可以在 orientjs 中使用带有 Classes API 的事务?
- javascript - Giphy API调用乱序返回结果
- php - PHP在重定向之前加载页面
- java - 无法为情况编写 Antlr3 规则
- python - 在Django中提交表单时如何保留现有的查询字符串?
- java - Spring Boot 版本从 1.5.8 更改为 2.0.0
- angular - 如何在 ionic 3 中使用日期选择器插件
- proxy - 如何使用 CUBA Studio 创建应用程序?
- php - Laravel SQLSTATE [42S22]:找不到列:1054
- ios - 纹理未在 xcode ARKit 中渲染?