Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4738896
  • 博文数量: 206
  • 博客积分: 5240
  • 博客等级: 大校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 21:40
文章分类

全部博文(206)

文章存档

2013年(13)

2012年(8)

2011年(33)

2010年(152)

我的朋友

分类:

2010-10-09 00:04:51



不知有什么方法不用对每个按钮写函数,毕竟单击每个按钮所要做的基本都一样。能不能只写一个函数,然后所有的按钮的单击事件都指向该函数,函数自动识别是单击了那个按钮,然后取按钮的标题push到table中。我猜函数中的“ID”就是用来识别单击的对象的吧?
yocan 发表于 2010-8-12 22:00:00


当然可以呀,你看一下 win.ui的源码就知道了,就是这样做的
你双击窗体进去添加同样的代码就可以了。其实AAuto UI库虽然很小,却很灵活。

这就是有些程序员为什么会说“可恶的MFC,本来很简单的事搞的很复杂”
开着豪华大巴走羊肠小道的确是不太好走的。





import
 win; //必须首先导入win窗口支持库
import win.ui;
/*DSG{{*/
var winform = win.form(parent=...; right=349;text="AAuto Form";bottom=249 )
winform.add( 
button={ bottom=126;right=232;left=106;top=89;z=1;text=
"button";cls="button" }
)
/*}}*/

winform.button.a = 123;
winform.wndproc = 
function(hwnd,message,wparam,lparam){

    
select(message) {//判断消息类型
        case 0x111/*_WM_COMMAND*/ {
            
var wmId    = ::LOWORD(wparam); 
            
var ctrl = winform._ids[wmId];
            
if(ctrl) { 
                
if(ctrl.cls == "button" && ctrl.a == 123 )
                    ctrl.text = 
"123"
                
//ctrl就是取到的控件了,你想干什么都可以
            } 
        }
    } 

}
//endproc

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


阅读(1172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~