1) 我尝试将ico图像加载到IUP按钮但没有成功 在链接IM dll并添加正确的标题后,这是我的方法:
Ihandle *btn1, *btn2;
Ihandle* img1;
btn1 = IupButton("", NULL);
IupSetAttribute(btn1, "MINSIZE", "24x24");
btn2 = IupButton("", NULL);
IupSetAttribute(btn2, "MINSIZE", "24x24");
img1 = IupImage(16, 16, IupLoadImage("icons\\home_16x16.ico"));
IupSetAttribute(btn1, "IMAGE", "img1");
frame = IupHbox(btn1, btn2, NULL);
dlg = IupDialog(IupHbox(mat, IupVbox(frame, tree, NULL), NULL));
IUP不会报告任何错误,但图像不会出现在按钮btn1上。
如何在RGBA模式下将图片从文件加载到按钮?
2) 我按照以下顺序从IqlTree填充来自sqlite数据库的数据:'Name'(这是root),然后是大约170个拥有1-10个叶子的分支。 VALUE设置为0并选择“名称” 如何将代码扩展树连接到第一个分支,就像我双击“Name”一样? 我尝试EXPANDALL属性,但随后所有叶子都被扩展了不想要的东西。
3) 如何在k_any回调f中获得IUPtree项'id'。即按ENTER键的时候?
4) 如何在executeleaf和branchopen回调中从'id'获取IUPtree项目文本?
5) 如何循环IUPtree以获取id,text,sort of item(branch / leaf)?
6)IUPmatrix是否有办法捕获keyUP或keyRELEASED事件,就像我们在K_ANY中获取keyPRESS一样?
答案 0 :(得分:2)
1)更加注意每个功能的数据类型。请注意,IupLoadImage已经返回了Ihandle。所以而不是:
img1 = IupImage(16, 16, IupLoadImage("icons\\home_16x16.ico"));
你应该这样做:
img1 = IupLoadImage("icons\\home_16x16.ico");
如果你这样做:
IupSetAttribute(btn1, "IMAGE", "img1");
你指定了一个字符串,你必须以某种方式将字符串“img1”与Ihandle img1相关联。它们是两个非常不同的东西。检查IupImage文档。或者你这样做:
IupSetHandle("img1", img1);
IupSetAttribute(btn1, "IMAGE", "img1");
或者更好的方式:
IupSetAttributeHandle(btn1, "IMAGE", img1);
2)您是否尝试仅展开要扩展的分支?检查IupTree文档中的STATEid属性。
3)你想要的是具有焦点的项目。因此,获取IupTree的VALUE属性。请注意,Enter键将触发已具有项ID的executeleaf回调。
4)检查文档中的TITLEid属性。
5)提示,在设置/获取IupTree,IupMatrix或IupList的属性时,您可以使用:
IupSetAttribute(ih, "TITLE3", "My Title");
or
IupSetAttributeId(ih, "TITLE", 3, "My Title");
6)正如我之前告诉你的,IupMatrix继承自IupCanvas,因此你还必须检查IupCanvas回调。查看IupMatrix回调文档,最后有关于IupCanvas回调的解释。