标题:一个ui小工具代码,待开发
只看楼主
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
结帖率:100%
 问题点数:0 回复次数:7 
一个ui小工具代码,待开发
https://
去年弄的,用来写小工具界面,现在项目里的main中的测试就是用来提示消息的msgbox实例
搁置了好久,一直没时间,原先用gdi+弄的,绘制效率太低,这两天弄成了gdi,有兴趣的试试,多提提意见,能提交代码就更好了
原来弄得文本输入和下拉框都是gdi+的需要时间弄过来,滚动条也出现了bug,需要后面再弄过来,但是滚动是可用的
可以用tinycc编译https://,修改下Makefile中的路径make就行了
没有make的我下面上传个直接放到项目路径下make就行了

现在用如下的方式描述界面:
程序代码:
        //-----------------------------------------------------顶部条
        zvw_box(ctx);{
            zvw_set(ctx, "background-color", 0xFF0075DA);
            zvw_set(ctx, "hu", PIXEL_ZVWUNT);
            zvw_set(ctx, "w", 1000);
            zvw_set(ctx, "h", 32);

            zvw_box(ctx);{
                zvw_set(ctx, "position", FILL_ZVWPOS);
                zvw_set(ctx, "background-color", 1000);
                zvw_set(ctx, "h", 0x00D2DEFA);
                
                btit = zvw_label(ctx);{
                    zvw_set(ctx, "w", 900);
                    zvw_set(ctx, "h", 1000);
                    zvw_set(ctx, "margin-left", 20);
                    zvw_set(ctx, "label-alignh", START_ZVWTXTALIGN);
                    zvw_set(ctx, "label-color", 0xffFFFFFF);
                    
                }zvw_end(ctx);
    
            }zvw_end(ctx);
            
        }zvw_end(ctx);



make.zip (101.02 KB)





搜索更多相关主题的帖子: 开发 代码 gdi 工具 ui 
2022-03-10 19:03
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
得分:0 
仓库转移到了gitee上,https://
github访问太困难了,push老是网络超时
2022-03-11 13:08
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
得分:0 
添加了switch和sbar(scrollbar)组件,switch相当于一个最简单的例子了,实现几个on*方法就行了
input组件下午再改改,字符串测量有问题





[此贴子已经被作者于2022-3-11 13:41编辑过]

2022-03-11 13:40
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
得分:0 
已添加了input,输入没问题,但是backspace和全选等有问题
下面的代码就是从长度为len的str字符串中删除index位置的wchar_t字符,没发现毛病啊,什么情况?
程序代码:
int zvw_input_delwchar(wchar_t* str, int len, int index)
{
    if(!len)return 0;
    if(index<0)return 0;
    
    int i=index;
    while(i <= len){
        if(i == len-1){
            *(str+i) ='\0';
        }else{
            *(str+i) = *(str+i+1);
        }
        i++;
    }
    return 1;
}



[此贴子已经被作者于2022-3-11 17:52编辑过]

2022-03-11 17:43
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
得分:0 
文字输入已ok,排除非字符事件就行了
2022-03-11 18:16
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
得分:0 
select 组件也能运行了
程序代码:
            zvw_select(ctx);{
                    zvw_set(ctx, "position", ALIGN_LEFT_ZVWPOS);
                    zvw_set(ctx, "margin-left", 10);
                    
                    int slen = 8;
                    wchar_t** sts = calloc(slen, 10*sizeof(wchar_t));
                    *(sts) = L"清夜无尘";
                    *(sts+1) = L"月色如银";
                    *(sts+2) = L"酒斟时";
                    *(sts+3) = L"须满十分";
                    *(sts+4) = L"梦一道士";
                    *(sts+5) = L"羽衣蹁跹";
                    *(sts+6) = L"过临皋之下";
                    *(sts+7) = L"揖予而言";
                    zvw_set(ctx, "select-texts", (size_t)sts);
                    
                    size_t* vs = calloc(slen, sizeof(size_t));
                    *(vs) = 11;
                    *(vs+1) = 22;
                    *(vs+2) = 33;
                    *(vs+3) = 44;
                    *(vs+4) = 55;
                    *(vs+5) = 66;
                    *(vs+6) = 77;
                    *(vs+7) = 88;
                    zvw_set(ctx, "select-values", (size_t)vs);
                    
                    zvw_set(ctx, "select-slen", slen);
                    
            }zvw_end(ctx);


mbox.zip (25.46 KB)


[此贴子已经被作者于2022-3-13 11:36编辑过]

2022-03-13 11:34
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
得分:0 
在xp虚拟机中测试正常,虽然gdi api用着让人难受,但还是兼容最好的
2022-03-13 12:08
udefine
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:7
注 册:2021-10-31
得分:0 
给select组件添加了滚动条,添加最大化最小化按钮,准备测试resize后的滚动条bug,但发现换到gdi渲染后竟然没bug了,不明所以,看以后还会不会出现了。

mbox.zip (25.7 KB)


[此贴子已经被作者于2022-3-13 17:24编辑过]

2022-03-13 17:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508513-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044450 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved