【问题请教】plus控件如何制作成组合框的效果

GeekYang 1月前 352

如上图显示,我用plus控件制作组合框的效果,设置了边框,以及直角改成圆角了,但是文字显示这块如何能嵌入边框显示出来,请各位大佬指教

最新回复 (9)
  • 光庆 1月前
    0 2
    没明白什么意思。谁明白了给个解决方案,或者你写的再详细一点。
  • breezee 1月前
    0 3
    这个不好弄,恐怕你得弄两个控件,一个画框,一个写标签
  • 光庆 1月前
    0 4
    嗯,看明白了。这个框和图片可以绘制,应该不难。主要还是里面的内容,你打算怎样处理?
  • 光庆 1月前
    1 5

    import win.ui;
    /*DSG{{*/
    var winform = win.form(text="aardio form";right=759;bottom=469)
    winform.add(
    plus={cls="plus";left=208;top=112;right=488;bottom=392;notify=1;z=1}
    )
    /*}}*/
    
    winform.plus.onDrawBackground = function(graphics,rc,bkColor,foreColor){
    	import godking.paint
    	var p = godking.paint.fromGraphics(graphics);
    	p.drawRoundRect(rc.inflate(-10,-10),10/*圆角半径*/,0xFF0000AA,/*线宽*/,/*线型*/);
    	rc = ::RECT(rc.left+10,rc.top-8,rc.left+100,rc.top+12);
    	p.clip.set(rc,0/*半径*/,0/*_GdipCombineMode*/);
    	p.clear(/*颜色*/);
    	p.drawText(rc,"我是组合框",::LOGFONT(name="宋体";h=16;color=0xFF000000;brush=null),0/*格式*/,1/*水平*/,0/*垂直*/);
    	p.clip.set();
    	p.drawText(rc.offset(0,50),"我是文本1",::LOGFONT(name="宋体";h=16;color=0xFF000000;brush=null),0/*格式*/,1/*水平*/,0/*垂直*/);
    	p.drawText(rc.offset(0,30),"我是文本2",::LOGFONT(name="宋体";h=16;color=0xFF000000;brush=null),0/*格式*/,1/*水平*/,0/*垂直*/);
    	p.drawText(rc.offset(0,30),"我是文本3",::LOGFONT(name="宋体";h=16;color=0xFF000000;brush=null),0/*格式*/,1/*水平*/,0/*垂直*/);
    }
    
    winform.show();
    win.loopMessage();


  • breezee 1月前
    0 6
    他应该只是想要个外观好看点的plusgroupbox,你这个已经符合要求了。
  • GeekYang 1月前
    0 7

    谢谢各位大佬的帮助

  • shzhbook 1月前
    0 8
    庆帝就是牛。
  • nanyi 1月前
    1 9

    import win.ui;
    /*DSG{{*/
    var winform = win.form(text="aardio form";right=759;bottom=469)
    winform.add(
    combobox={cls="combobox";left=148;top=123;right=275;bottom=143;edge=1;items={"COM1";"COM2"};mode="dropdownlist";z=5};
    combobox2={cls="combobox";left=148;top=170;right=275;bottom=190;edge=1;items={"9600";"115200"};mode="dropdownlist";z=6};
    combobox3={cls="combobox";left=147;top=225;right=274;bottom=245;edge=1;items={"8"};mode="dropdownlist";z=8};
    plus={cls="plus";left=48;top=79;right=298;bottom=359;border={color=-16776961;radius=10;width=2};z=1};
    plus2={cls="plus";text="串口配置";left=72;top=66;right=150;bottom=94;clipBk=1;font=LOGFONT(h=-16);z=7};
    static={cls="static";text="端口";left=74;top=122;right=122;bottom=144;transparent=1;z=2};
    static2={cls="static";text="波特率";left=74;top=173;right=122;bottom=195;transparent=1;z=3};
    static3={cls="static";text="数据位";left=74;top=224;right=122;bottom=246;transparent=1;z=4}
    )
    /*}}*/
    
    winform.show();
    win.loopMessage();


  • mndsoft 1月前
    0 10
    nanyi import win.ui; /*DSG{{*/ var winform = win.form(text=&quot ...
    这个更方便
返回
发新帖