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 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办