aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 11983|回复: 10

如何在function里设置其它控件的值

[复制链接]

12

主题

84

回帖

518

积分

三级会员

积分
518
发表于 2011-2-23 11:48:04 | 显示全部楼层 |阅读模式
import win.ui;
/*DSG{{*/
var winform = win.form( text="aardio Form";right=391;bottom=435 )
winform.add(
static={ bottom=386;right=384;left=10;top=364;transparent=1;z=6;text=
"static";cls="static" };
listbox1={ bgcolor=16777215;bottom=178;right=192;left=8;
items={  };top=8;z=1;text=
"listbox";edge=1;cls="listbox" };
button={ bottom=420;right=241;left=150;top=392;z=5;text=
"button";cls="button" };
listbox3={ bgcolor=16777215;bottom=359;text=
"listbox3";left=8;
items={  };top=189;z=3;right=192;edge=1;cls=
"listbox" };
listbox4={ bgcolor=16777215;bottom=358;text=
"listbox4";left=199;
items={  };top=188;z=4;right=383;edge=1;cls=
"listbox" };
listbox2={ bgcolor=16777215;bottom=178;text=
"listbox2";left=200;
items={  };top=8;z=2;right=384;edge=1;cls=
"listbox" }
)
/*}}*/

添加 =
function(hwnd){
   
import win.ui
   
import win.ui.ctrl.listbox
    listbox = win.ui.ctrl.listbox()
    listbox.hwnd = hwnd
   
for(i=1;4;1){
        listbox.add(
tostring(i))
        winform.static.text = i
    }
}

winform.button.oncommand =
function(id,event){
   
for(i=1;4;1){
        thread.create(添加,winform[
"listbox"+i].hwnd )
    }
}

winform.show();
win.loopMessage();



象上面的代码中winform.static.text = i就不行,请问要如何设置呢?

56

主题

412

回帖

3788

积分

荣誉会员

积分
3788
发表于 2011-2-23 12:08:37 | 显示全部楼层

你看看你的代码中,,操作 listbox.add 的时候都做了什么准备工作

再想想如果 要设置 static.text  的时候又要做什么准备工作呢?



12

主题

84

回帖

518

积分

三级会员

积分
518
 楼主| 发表于 2011-2-23 12:18:49 | 显示全部楼层
回复 cbtan 的帖子

import win.ui;
/*DSG{{*/
var winform = win.form( text="aardio Form";right=391;bottom=435 )
winform.add(
listbox3={ bgcolor=16777215;bottom=359;right=192;left=8;
items={  };top=189;z=3;text=
"listbox3";edge=1;cls="listbox" };
listbox1={ bgcolor=16777215;bottom=178;text=
"listbox";left=8;
items={  };top=8;z=1;right=192;edge=1;cls=
"listbox" };
button={ bottom=420;text=
"button";left=150;top=392;z=5;right=241;cls="button" };
static={ right=384;bottom=386;text=
"static";left=10;top=364;z=6;transparent=1;cls="static" };
listbox2={ bgcolor=16777215;bottom=178;right=384;left=200;
items={  };top=8;z=2;text=
"listbox2";edge=1;cls="listbox" };
listbox4={ bgcolor=16777215;bottom=358;right=383;left=199;
items={  };top=188;z=4;text=
"listbox4";edge=1;cls="listbox" }
)
/*}}*/

添加 =
function(hwnd,hwnd){
   
import win.ui;
   
import win.ui.ctrl.listbox;
   
import.win.ui.ctrl.static;
    listbox = win.ui.ctrl.listbox();
    listbox.hwnd = hwnd;
    static = win.ui.ctrl.static();
    static.hwnd = hwnd;
   
for(i=1;4;1){
        listbox.add(
tostring(i));
        static.text = i;
    }
}

winform.button.oncommand =
function(id,event){
   
for(i=1;4;1){
        thread.create(添加,winform[
"listbox"+i].hwnd,winform.static.hwnd);
    }
}

winform.show();
win.loopMessage();


我把添加 = function(hwnd,hwnd){中的第二个hwnd改名了也不行

56

主题

412

回帖

3788

积分

荣誉会员

积分
3788
发表于 2011-2-23 12:26:09 | 显示全部楼层
好像我说错了!
直接在线程里
win.setText(hwnd,"aaaa")  就可以了!

12

主题

84

回帖

518

积分

三级会员

积分
518
 楼主| 发表于 2011-2-23 12:30:27 | 显示全部楼层
回复 cbtan 的帖子

版主大大,能直接给我代码吗?
import win.ui;
/*DSG{{*/
var winform = win.form( text="aardio Form";right=391;bottom=435 )
winform.add(
listbox3={ bgcolor=16777215;bottom=359;right=192;left=8;
items={  };top=189;z=3;text=
"listbox3";edge=1;cls="listbox" };
listbox1={ bgcolor=16777215;bottom=178;text=
"listbox";left=8;
items={  };top=8;z=1;right=192;edge=1;cls=
"listbox" };
button={ bottom=420;text=
"button";left=150;top=392;z=5;right=241;cls="button" };
static={ right=384;bottom=386;text=
"static";left=10;top=364;z=6;transparent=1;cls="static" };
listbox2={ bgcolor=16777215;bottom=178;right=384;left=200;
items={  };top=8;z=2;text=
"listbox2";edge=1;cls="listbox" };
listbox4={ bgcolor=16777215;bottom=358;right=383;left=199;
items={  };top=188;z=4;text=
"listbox4";edge=1;cls="listbox" }
)
/*}}*/

添加 =
function(hwnd,hwnd){
   
import win.ui;
   
import win.ui.ctrl.listbox;
   
//import.win.ui.ctrl.static;
    listbox = win.ui.ctrl.listbox();
    listbox.hwnd = hwnd;
   
//static = win.ui.ctrl.static();
    //static.hwnd = hwnd;
    for(i=1;4;1){
        listbox.add(
tostring(i));
        win.setText(winform.static.hwnd,
"aaaa")
    }
}

winform.button.oncommand =
function(id,event){
   
for(i=1;4;1){
        thread.create(添加,winform[
"listbox"+i].hwnd);
    }
}

winform.show();
win.loopMessage();



还是不行啊.

点评

hwnd 句柄,从外部传入到线程里的,不是线程内!  发表于 2011-2-23 16:25

23

主题

283

回帖

1831

积分

荣誉会员

积分
1831
发表于 2011-2-23 12:38:31 | 显示全部楼层
回复 罗炎璋 的帖子

把static控件换成edit控件就可以用了,为什么static不能用,我也搞不清楚

12

主题

84

回帖

518

积分

三级会员

积分
518
 楼主| 发表于 2011-2-23 12:46:52 | 显示全部楼层
回复 游戏 的帖子

import win.ui;
/*DSG{{*/
var winform = win.form( text="aardio Form";right=391;bottom=435 )
winform.add(
edit={ bottom=387;right=384;left=9;top=363;z=6;text=
"edit";edge=1;cls="edit" };
listbox3={ bgcolor=16777215;bottom=359;text=
"listbox3";left=8;
items={  };top=189;z=3;right=192;edge=1;cls=
"listbox" };
listbox1={ bgcolor=16777215;bottom=178;right=192;left=8;
items={  };top=8;z=1;text=
"listbox";edge=1;cls="listbox" };
button={ bottom=420;text=
"button";left=150;top=392;z=5;right=241;cls="button" };
listbox2={ bgcolor=16777215;bottom=178;text=
"listbox2";left=200;
items={  };top=8;z=2;right=384;edge=1;cls=
"listbox" };
listbox4={ bgcolor=16777215;bottom=358;text=
"listbox4";left=199;
items={  };top=188;z=4;right=383;edge=1;cls=
"listbox" }
)
/*}}*/

添加 =
function(hwnd){
   
import win.ui
   
import win.ui.ctrl.listbox
    listbox = win.ui.ctrl.listbox()
    listbox.hwnd = hwnd
   
for(i=1;4;1){
        listbox.add(
tostring(i))
        win.setText(winform.edit.hwnd,
"aaaa")
    }
}

winform.button.oncommand =
function(id,event){
   
for(i=1;4;1){
        thread.create(添加,winform[
"listbox"+i].hwnd )
    }
}

winform.show();
win.loopMessage();


是这样吗,可还是不行

23

主题

283

回帖

1831

积分

荣誉会员

积分
1831
发表于 2011-2-23 12:53:36 | 显示全部楼层
本帖最后由 游戏 于 2011-2-23 12:57 编辑

import win.ui;
/*DSG{{*/
var winform = win.form( text="aardio Form";right=391;bottom=435 )
winform.add(
edit={ bottom=391;right=158;left=9;top=369;font=LOGFONT( name=
"宋体";h=-12 );z=6;text="edit";edge=1;cls="edit" };
listbox1={ bgcolor=16777215;bottom=178;right=192;left=8;
items={  };top=8;z=1;text=
"listbox";edge=1;cls="listbox" };
button={ bottom=420;right=241;left=150;top=392;z=5;text=
"button";cls="button" };
listbox3={ bgcolor=16777215;bottom=359;text=
"listbox3";left=8;
items={  };top=189;z=3;right=192;edge=1;cls=
"listbox" };
listbox4={ bgcolor=16777215;bottom=358;text=
"listbox4";left=199;
items={  };top=188;z=4;right=383;edge=1;cls=
"listbox" };
listbox2={ bgcolor=16777215;bottom=178;text=
"listbox2";left=200;
items={  };top=8;z=2;right=384;edge=1;cls=
"listbox" }
)
/*}}*/

添加 =
function(hwnd,edithwnd){
   
import win;
   
import win.ui.ctrl.listbox;
   
import.win.ui.ctrl.edit;
    listbox = win.ui.ctrl.listbox();
    listbox.hwnd = hwnd;
    edit = win.ui.ctrl.edit();
    edit.hwnd = edithwnd;
   
for(i=1;4;1){
        listbox.add(
tostring(i));
        edit.text = i;
    }
}

winform.button.oncommand =
function(id,event){
   
for(i=1;4;1){
        thread.create(添加,winform[
"listbox"+i].hwnd,winform.edit.hwnd);
    }
}

winform.show();
win.loopMessage();

12

主题

84

回帖

518

积分

三级会员

积分
518
 楼主| 发表于 2011-2-23 12:57:06 | 显示全部楼层
回复 游戏 的帖子

严重感谢"游戏"

23

主题

283

回帖

1831

积分

荣誉会员

积分
1831
发表于 2011-2-23 13:00:10 | 显示全部楼层

56

主题

412

回帖

3788

积分

荣誉会员

积分
3788
发表于 2011-2-23 13:08:39 | 显示全部楼层
本帖最后由 cbtan 于 2011-2-23 13:17 编辑

import win.ui;
/*DSG{{*/
var winform = win.form( bottom=212;scroll=1;text="aardio Form";right=335 )
winform.add(
edit={ bottom=170;right=287;left=38;multiline=1;top=115;font=LOGFONT( name=
"宋体";h=-12 );z=2;text="";edge=1;cls="edit" };
static={ right=262;bottom=83;text=
"";left=44;top=34;font=LOGFONT( name="宋体";h=-12 );transparent=1;z=1;cls="static" }
)
/*}}*/

fun=
function(hwnd){
   
import win
    win.setText(hwnd,
"直接设置")
}

thread.create(fun,winform.static.hwnd)
thread.create(fun,winform.edit.hwnd)

//进入消息循环
winform.show();
win.loopMessage();
return winform,wb;
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-7-20 18:35 , Processed in 0.068220 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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