炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3405|回复: 5

炫彩与mfc混合编程中响应太慢怎么破?

[复制链接]

该用户从未签到

发表于 2014-6-13 11:03:03 | 显示全部楼层 |阅读模式

通过论坛上1.4.3的实例,成功将炫彩与mfc混合,但现在遇到一个问题:
现在我需要用炫彩作为显示界面,同时mfc按钮控制它的显示。就比如那个示例程序,通过mfc按钮,给炫彩的按钮更改文字,结果炫彩响应很慢,有时甚至无响应。
我将按钮换成图片控件,结果,无响应。。。。
请问该怎么破?
我的编程环境:vc2008,release,最新1.6.3,1.6.2,1.5.3都试过,都这样的。。。

该用户从未签到

 楼主| 发表于 2014-6-13 17:23:22 | 显示全部楼层
源码在这,请帮忙看看

test.zip

1.44 MB, 下载次数: 667

  • TA的每日心情
    开心
    2022-1-9 18:18
  • 发表于 2014-6-13 21:43:18 | 显示全部楼层


    你的事件响应格式写错了,正确如下:
    1. //事件响应
    2. int CALLBACK My_EventBtnClick(HELE hEle,HELE hEventEle,BOOL *pBool)
    3. {
    4.     //弹出消息框
    5.     XMessageBox(hEle,L"你点击了按钮",L"提示",XMB_OK | XMB_CANCEL);
    6.     return 0;
    7. }
    复制代码

    设置按钮内容之后重绘下按钮,炫彩库不会自动去重绘.
    1. void CTestDlg::OnBnClickedButton1()
    2. {
    3.         // TODO: 在此添加控件通知处理程序代码
    4.         XBtn_SetText(hButton,L"button2");
    5.         XEle_RedrawEle(hButton);
    6. }
    复制代码

    XInitXCGUI(); //初始化库
    //XRunXCGUI(); 这个就不用写了,MFC有消息循环
    XExitXCGUI();  MFC程序退出地方加入,释放炫彩库资源





    该用户从未签到

     楼主| 发表于 2014-6-16 10:31:01 | 显示全部楼层
    感谢各位及老大的详细说明,我现在解决了这个问题。
    我是将一个xcwind作为子窗口嵌入到mfc中,现在应该是使用XWnd_RedrawWnd最为方便吧?!
    另,我这有个小问题,那就是我原本使用1.5.3的版本很好,没问题,但是整个替换为1.6.3后(release版,我已经将h、lib和dll都替换过了)
    我创建一个图片控件,原先代码是从HBITMAP加载图片,即使用XImage_LoadFileFromHBITMAP,运行提示指令引用内存错误,不能为read,如果使用XImage_LoadFile从本地文件加载,会出现如下问题:若图片后缀更改,则整个程序无法显示。但我记得以前的版本好像是可以加载自定义后缀名的图片的。
    请问从1.5.3直接升级到1.6.3有什么需要注意的么?。

    该用户从未签到

     楼主| 发表于 2014-6-16 16:06:04 | 显示全部楼层
    应该是它吧,我的位图是放在一个dll中加载进来,HBITMAP是存放在一个map中。同样的一句调用代码,以前用1.5.3时是没问题的,改换1.6.3后出现指令引用内存错误。
    将XImage_LoadFileFromHBITMAP()  注释或替换成XImage_LoadFile(),则无该问题,并且功能也正常。
    release版。vc2008.
  • TA的每日心情
    开心
    2022-1-9 18:18
  • 发表于 2014-6-17 21:17:27 | 显示全部楼层
    你到群里我给你发个新的试试,看问题解决了没!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

    GMT+8, 2024-5-8 22:13 , Processed in 0.073718 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表