炫彩界面库使用方法问题记录

来源:互联网 发布:linux查看二进制文件 编辑:程序博客网 时间:2024/05/17 09:44

1. 'ele_event' : undeclared identifier  'RegisterAll': identifier not found

在使用炫彩界面库时,如果遇到以上错误,一般是由于使用了C++的支持API,但是自己写的类没有继承炫彩的类

错误写法:

class CSysOption

正确写法

class CSysOption:public CXEventMsg
这里需要继承炫彩的类,这样才能用C++方式定义事件消息等。


2. error LNK2019: unresolved external symbol "int __stdcall XInitXCGUI(wchar_t *)" (?XInitXCGUI@@YGHPA_W@Z) referenced in function _wWinMain@16

出现这个问题的原因在于"为了兼容其他版本VC++,设置:将wchar_t视为内置类型(否)" ,Microsoft的C/C++编译器定义了一个内建的数据类型wchar_t,它表示一个

16位的Unicode(UTF-16字符)。因为早期版本的Microsoft编译器没有提供这个内建的数据类型,所以编译器只有指定了/Zc:wchar_t编译器开关时,才会定义

这个数据类型。

具体设置如图:


3.关于XEle_SetId 其中的ID不要设置0 因为0默认是被占用的 问题发生情况如下

函数1中:HELE hEdit=XEdit_Create(57, 14, 41, 20, m_hMainWin);XEle_SetId(hEdit, 0);XEdit_EnableNumber(hEdit, TRUE);函数2中:XEdit_SetInt(XWnd_GetEle(m_hMainWin, 0), 300);
这里会提示句柄无效 OD跟踪发现


句柄下的第一个值 是0x25和0x18不相等 从而跳向提示 "句柄无效"

推测这个值是类型 查看炫彩帮助文档有:

#define  XC_EDIT   24   编辑框元素  #define  XC_STATIC   37   静态文本元素
可以看到edit类型变成了静态文本  所以推断0默认被占用 改成其他的试试OK了

4.编辑框,树,列表等都是从滚动视图扩展的,都需要这么设置才能透明.
这个是v1.5版本的改动


滚动视图设置透明方法:
        HELE hScrollView; //滚动视图元素句柄
        XEle_SetBkTransparent(hScrollView,TRUE);  //设置滚动视图透明
        XEle_SetBkTransparent(XSView_GetView(hScrollView),TRUE); //设置滚动视图的视透明

示例如下:

XStatic_Create(19, 14, 39, 20, TEXT("红小于"), m_hMainWin);HELE hEdit1=XEdit_Create(57, 14, 41, 20, m_hMainWin);XStatic_Create(98, 14, 15, 20, TEXT("吃"), m_hMainWin);HELE hEdit2=XEdit_Create(112, 14, 70, 20, m_hMainWin);
效果如图:


加入代码:

XEle_SetAlpha(hEdit1, 100);XEle_SetAlpha(hEdit2, 100);
效果如图:


发现里边的文字没有透明 继续加入代码

XEle_SetAlpha(XSView_GetView(hEdit1), 100);XEle_SetAlpha(XSView_GetView(hEdit2), 100);
效果如图:




(持续更新中。。。)

原创粉丝点击