问题标签 [ownerdrawn]
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.
winforms - 更改 ToolStripMenuItem 的大小
我正在自定义绘制一个菜单项MenuStrip
。我遇到的问题是菜单项坚持根据文本调整自身大小,这不是我想要的(没有文本)。我可以设置AutoSize
为 false 并明确指定大小,但包含的菜单 ( ToolStripDropDown
) 仍会根据文本自行调整大小,这会导致它太小而无法包含整个菜单项。
有没有一种简单的方法来设置菜单项的大小?
c# - tabcontrol ownerdraw 改变 tabcontrol 的边框样式
我遇到了tabcontrol的问题。当我将DrawMode更改为ownderdrawfixed时,tabcontrol的borderstyle从“fixedsingle”变为“3dfixed”,但tabcontrolborderstyle没有这样的属性。最接近 tabcontrol 的borderstyle 的是外观没有改变。
查看上面的图片以了解我在说什么。
有没有办法在没有ownerdraw的情况下更改标签页标题的颜色,所以我不必使用ownerdraw?
或者我怎样才能修复 tabcontrol 的边框样式?
c# - C# p/invoke,从所有者绘制的列表框中读取数据
我在外部应用程序(美国在线)中有一个所有者绘制的列表框,我需要从中获取数据以构建组件以帮助人们提高其可用性。(该实用程序将使某些事物的访问变得更加简单,等等)。
注意
我的 C++ 知识很差。我是一名 C# 程序员。
我有hWnd
问题的列表框,但它似乎是所有者绘制的。使用LB_GETTEXT
返回错误数据,我只是得到垃圾(它在我的调试器中呈现为一堆汉字)并且通过LB_GETITEMDATA
返回大致相同。
我相信这是因为所有者绘制的列表框上有图形。做了很多挖掘,我过去发现其他人有这个问题。我发现了以下应该解决此问题的代码。然而事实并非如此。代码发布在下面,以及它下面的问题。
我的理解虽然有限,但它lListItemHold=lListItemHold+24
试图解释 ListBox 中的任何“结构”并通过它的前 24 个字节,然后返回剩余的内容。但是,这似乎对我不起作用。
任何人都可以对我可以尝试的事情有所了解吗?我知道我正抓着稻草。我在 C# 中对此进行编码,因此使用以下函数使用此函数p/invoke
;
.net - 如何在所有者绘制的菜单项中提供动画?
我的应用程序在 C# 3.5 Winforms 中,但无论如何这很可能需要 P/Invoke,因此它与 .NET 并没有那么严格的联系。
我通过ContextMenu
和MenuItem
类创建了所有者绘制的菜单项。一切正常,但对于某些项目,我想创建一个小动画(显示有一个进程正在运行,与项目相关联)。不幸的是,上面提到的两个类没有提供Invalidate()
方法或类似的东西。
到目前为止,我最好的想法是WindowFromDC()
在第一个 OnDraw 上 P/Invoke,保存结果句柄,然后定期调用InvalidateRect()
句柄,直到菜单关闭。
不过,这似乎有点骇人听闻,我还没有尝试过,想知道是否有更优雅的方法。
c# - 覆盖 ComboBox.Items 的最佳方法
我创建了一个继承自 ComboBox 的自绘用户控件。
该控件存储专门的项目,但 Items 集合仍然接受并返回 Object 类型的项目。关于覆盖此集合以实现类型安全的最佳方法的任何提示?
关于我能想到的唯一方法是创建自己的集合类。该类不会是一个真正的集合——它将一个 ObjectCollection 作为构造函数的参数,并简单地将其方法扩展为。
用户控件会将原始 Items 集合传递给新类的构造函数。然后重写 Items 属性以返回新类的实例。
这似乎有些令人费解。有没有更好的办法?
ios - 如何确保绘制操作在 Mac 上是像素对齐的?
在最近的 iOS techtalk 中,我听到了一个关于“确保你的绘制操作是像素对齐的”的建议。
这是对 Mac/iOS 绘图性能的有效建议吗?
另一个问题是如何确定我的代码是以像素对齐的方式绘制的?
有什么工具或技巧可以提供帮助吗?
c# - 所有者绘制的 ToolStripDropDownButton
我正在为ToolStripDropDown
控件编写一些自定义行为。我还想修改ToolStripDropDownButton
自身以显示彩色形状。
我看到我可以处理这个Paint
事件并画出我喜欢的任何东西。但是,在我绘制形状之前,有什么方法可以让按钮绘制默认背景?很难让背景完全正确,尤其是对于 .NET 和 Windows 的未来版本。
在普通的 Windows 中,我可以在绘制代码之前或之后调用默认的 proc 处理程序。我没有看到在 .NET 中实现这一目标的任何方法。或者也许有一种方法可以告诉按钮只绘制背景?
c++ - 具有 BS_AUTORADIOBUTTON 样式的所有者绘制的按钮
如何获得 BS_AUTORADIOBUTTON 的选中/未选中状态?我的代码目前不起作用。
我也试过
但这也不起作用。
mfc - 如何更改弹出菜单的字体大小(MFC、VC6)
我想知道是否有一种快速简便的方法可以更改 PopupMenu 的高度(即,使菜单中的每一行的垂直大小增加),并且还可以更改字体大小以使用更大的字体。
你有任何可以做到这一点的代码示例吗?不幸的是,CMenu 没有合适的成员来设置字体大小,或者我错过了什么?我知道那里有很多可供自己绘制的菜单的样本,对于我的目的来说这些都是过度的。我想要做的就是增加菜单项的大小。
此外,我的菜单没有主窗口,它只是一个弹出菜单(CMenu::CreatePopupMenu)。然而,大多数示例似乎都需要一个主窗口。