shlnanswer 2014-05-06 08:26 采纳率: 0%
浏览 905

OCX的对话框类的OnInitDialog中使用CButtonST类的函数不好使

我是菜鸟,没什么分,但是希望哪位大神帮我解答一下,我会非常非常感谢的,
我在对话框程序中的OnInitDialog()里写了m_btn.SubclassDlgItem(IDC_BUTTON3, this);
m_btn.SetIcon(IDI_ICON2);
m_btn.SetTooltipText(_T("This is a tooltip.\r\nMultiline!"));
m_btn.SetFlat(FALSE);代码,m_btn是CButtonST对象,在头文件中定义,运行程序可以使用,但是我放到OCX程序的对话框类的OnInitDialog函数中,就不好用了,本来作用是同时显示图标和文字,但是图标只显示了一小部分,而且tooltip提示也不好使,这是怎么回事?哪位好心的大神能帮我解答一下吗

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-03-09 13:09
    关注

    该回答引用ChatGPT

    您好,根据您提供的信息,可能有以下几个可能的原因:

    • 确保在OCX程序中包含了CButtonST类的头文件,并将其链接到OCX程序。
    • 确认您的OCX程序中是否已正确设置IDC_BUTTON3这个按钮控件的ID,可以在资源文件中查看并确认。
    • 确认在OnInitDialog()函数中正确调用了m_btn.SubclassDlgItem(IDC_BUTTON3, this)语句。请注意,这个语句的目的是将m_btn对象与IDC_BUTTON3按钮控件进行关联,确保这个按钮控件能够使用CButtonST类的成员函数。
    • 如果您在调用CButtonST类的成员函数时,按钮控件还没有被创建,那么这些成员函数可能会无法正常工作。请确保在调用SetIcon()、SetTooltipText()和SetFlat()函数之前,按钮控件已经被创建。

    如果您已经确认以上几个问题都没有出现,但仍然无法正常工作,可以尝试使用调试工具来进一步检查问题所在。您可以在OnInitDialog()函数中添加调试语句,比如使用OutputDebugString()函数输出调试信息到输出窗口。同时,您也可以在OCX程序中使用Spy++工具来检查按钮控件的属性、消息等,以便找出问题所在。

    评论

报告相同问题?

悬赏问题

  • ¥15 怎么获取下面的: glove_word2id.json和 glove_numpy.npy 这两个文件
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug