ownerdrawn相关内容

ListBox DrawItem HotLight 在 OwnerDraw 模式下的状态?

我在我的 WinForms 应用程序中使用 OwnerDrawFixed 作为自定义 ListBox 控件的 DrawMode. 当用户将鼠标悬停在列表框项目上时,我想重新绘制 ListBoxItem 的背景(或执行一些其他操作),即在 MouseMove... DrawItemState.HotLight 从不适用于 ListBox,所以我想知道如何模拟它,如何解决这个问题. ..
发布时间:2022-01-16 11:13:41 C#/.NET

如何以不同的颜色绘制选定的列表框项?

是否可以更改 TListBox 中的项目选择焦点颜色和文本颜色? 当项目中没有启用主题,或者列表框样式设置为所有者绘制时,项目周围的选择被涂成蓝色,我相信这是由系统的外观设置全局定义的. 我想将所选项目的颜色更改为自定义颜色. 举个例子,结果会是这样的: 请注意,Paint 中的最后一个列表框已被修改以说明示例. 解决方案 试试这个: 过程 TForm1.List ..
发布时间:2022-01-16 10:37:07 其他开发

OwnerDraw CButton mfc 焦点

如果我有“确定"和“取消",则使用标准按钮,默认为“确定",然后按右箭头,取消焦点,按键盘上的 Enter 键调用取消按钮功能. 所有者绘制按钮不会发生这种情况.如果我按下右箭头,取消按钮将获得焦点,但按下键盘上的 enter 则会调用 OK 按钮功能. 我怎样才能拥有一个具有标准行为的 ownerdraw 按钮? 这是我的课. BEGIN_MESSAGE_MAP(CFlatB ..
发布时间:2022-01-12 15:04:53 C/C++开发

在子类 CStatic 控件中处理 WM_PAINT

我创建了一个自定义控件,其类以 CStatic 作为基类.目前我使用 WM_PAINT 事件处理绘图.但是有一个奇怪的行为.当我使用 CWnd::EnableWindow 函数禁用它后重新启用窗口时,它拒绝绘制我在 OnPaint 函数中编写的内容.它改为绘制静态控件. 我同意有这种覆盖 DrawItem 并使用 SS_OWNERDRAW 样式的标准方法.但是 WM_PAINT 有什么问题? ..
发布时间:2022-01-12 14:41:59 C/C++开发

如何在所有者绘制菜单中绘制我自己的子菜单箭头(并防止窗口在我的顶部绘制箭头)

Windows 似乎在之后绘制子菜单箭头我在WM_DRAWITEM,如何阻止窗口绘制箭头? 解决方案 参见 所有者在 CodeGuru 上绘制子菜单箭头. 简而言之,在您绘制完菜单项后,操作系统总是会绘制箭头,但您可以使用 ExcludeClipRect() 从 HDC 中排除菜单项的矩形code> 的可绘制区域在您在其中绘制完成后,以便操作系统无法在您的绘图之上绘制. ..
发布时间:2022-01-06 14:56:27 其他开发

如何以不同的颜色绘制选定的列表框项目?

是否可以更改 TListBox 中的项目选择焦点颜色和文本颜色? 当项目中没有启用主题,或者列表框样式设置为自绘时,项目周围的选择被涂成蓝色,我相信这是由系统的外观设置全局定义的. 我想将所选项目的颜色更改为自定义颜色. 举个例子,结果是这样的: 注意最后一个列表框已在 Paint 中修改以说明示例. 解决方案 试试这个: procedure TForm1.Lis ..
发布时间:2021-12-13 23:16:20 其他开发

Winforms 标签页上的关闭按钮

我正在尝试在 TabControl 的标签页上添加关闭按钮将关闭按钮的颜色从浅灰色更改为黑色鼠标悬停在它上面.但是,颜色永远不会改变. 创建 DrawEventArgsCustom 类以指示鼠标在悬停在关闭按钮上.当它为真时,声明为改变颜色被执行,但颜色永远不会改变. private void tabControl1_DrawItem(object sender, DrawItemEven ..
发布时间:2021-09-04 18:56:08 C#/.NET

标签UserPaint绘制的文本不适合

我有一个自定义的Label类,绘制的文本不适合.我在这里做什么错了? Class MyLabel:标签{公共MyLabel(){SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint,true);}受保护的重写void OnPaint(PaintEventArgs e){使用(LinearGra ..
发布时间:2021-05-28 20:05:02 C#/.NET

如何根据所有者绘图组合框中的键入字母选择项目?

在常规组合框中,您可以跳到以键入的字母开头的项目.例如,如果您有"baa","arch","foo","art" 之类的项目,并输入"a"项目“拱"被选中后,您输入"a"再一次,它跳到“艺术".如何在所有者绘图组合框中实现此功能?我以为我可以像下面在comobobox的子过程中那样处理 WM_CHAR ,但是我什至无法测试,因为这样设置comobobox的过程失败了: HWND hwndEdi ..
发布时间:2021-04-23 19:20:06 其他开发

在Winforms的选项卡控件选项卡标题区域中绘制控件

我试图为我的标签控件在标签标题区域的左侧添加一些控件,但不影响标签页区域(例如Internet Explorer).我认为我必须要由所有者来绘制控件,但是我不确定从哪里开始.谁能提供任何建议? 解决方案 在询问伴侣之前,您是否进行过搜索? 外面有很多文章.我认为以下链接正是您想要的,看看吧. Y(et)A(nother)TabControl:带有所有者绘制标签的自定义标签控件 ..
发布时间:2020-07-02 04:51:22 C#/.NET

重绘所有者绘制的Winforms组合框项目

我需要在具有不同背景颜色的组合框中显示项目.我还想更改颜色,具体取决于是否选中了该项目(或鼠标位于其上方),就像在没有所有者绘制组合框的情况下一样. 一切正常,只是当鼠标移开我为其更改颜色的项目之一时,该项目保持与鼠标在顶部相同的颜色.在下面的示例中,最初使用myUnselectedBrush正确绘制了“其他"项;鼠标移到顶部,可以使用mySelectedBrush正确绘制;当鼠标移开时,仍 ..
发布时间:2020-07-02 04:51:19 其他开发

C#p/调用,从所有者绘制的列表框中读取数据

我在外部应用程序( America Online )中有一个所有者绘制的列表框,我需要从中获取数据以构建组件来帮助人们提高其可用性. (该实用程序将使某些事物的访问更加简单,等等). 通知 我对C ++的了解非常差.我是C#程序员. 我有问题的列表框中的hWnd,但它似乎是所有者绘制的.使用LB_GETTEXT返回错误的数据,我只是变得很烂(它在调试器中呈现为一堆汉字),通过LB ..
发布时间:2020-05-27 21:33:09 C#/.NET

C#MeasureItemEvent处理程序:e.ItemHeight不变

是我还是只能为列表框设置itemheight-e.ItemHeight? 尽管我在我的所有者绘制的列表框上处理MeasureItemEvent并将e.ItemHeight设置为正确的值,但只会使用设置的第一个高度. 糟糕,我对此很陌生,对此感到抱歉.这是代码(DrawItemHandler当然在实际程序中): // Add eventhandler to draw and mea ..
发布时间:2020-05-02 09:12:42 C#/.NET

OwnerDraw CButton mfc焦点

使用标准按钮,如果我有确定和取消,默认为OK,然后按右箭头键取消取消,按下键盘上的回车按钮取消按钮功能。 这与ownerdraw按钮不会发生。如果我按右箭头取消按钮被关注,但按下键盘上的确定按钮功能被称为。 我如何拥有一个标准行为的所有者按钮? 这是我的课。 BEGIN_MESSAGE_MAP(CFlatButton,CButton) // {{{AFX_MSG_MA ..
发布时间:2017-12-24 21:45:37 C/C++开发

如何使用csOwnerDrawFixed Style的组合框可以像csDropDown样式一样运行?

我正在使用具有style属性的 TComboBox 组件设置为 csOwnerDrawFixed ,我实现了OnDrawItem ,并且一切都正常,现在我想要使用这种组合框,当具有 csDropDown 样式(与csOwnerDrawFixed样式的行为类似于csDropDownList样式),我的意思是使用内部编辑器。这可能吗? 解决方案 Delphi的TComboBox包装器不支持所有 ..
发布时间:2017-04-24 22:26:17 Delphi