定义:
CbName: TComboBox;
width: Integer; //实际所需的宽度
在执行代码中按如下方法写:
width := CbName.Canvas.TextWidth(CbName.Items[I]); //可用此方法通过遍历获得某选项的最大宽度,也可以按自己的需要设定宽度
SendMessage(CbName.Handle, CB_SETDROPPEDWIDTH, width, 0); ......
由于需要在窗体中设定一个日期时间,出去通用型考虑,采用了TDateTimePicker控件。
因为这个控件的默认状态只能显示日期,造成使用上的不便,所以需要做如下的设定:
在控件的format属性栏里设置如下值:yyyy-mm-dd hh:mm:ss;
设定完成后的时间为当前的系统时间,不能通过弹出日历设定,只能在文本框中设定。 ......
我一直使用Delphi6开发软件,看到CSDN上的OPhone手机开发,又去Google一番,听说编写手机软件
能赚钱,所以要学习Java ME,读了几天博文,大多数概念搞清楚了。
要学JavaME就得先学JavaSE,所以装了很多软件(不装那么多,OPhone就装不上去)。
推荐一篇优秀的文章:
在 NetBeans IDE 中设计 Swing GUI
读完这篇文章,初学者就入门了! ......
如何在Delphi里面利用Word的VBA代码进行一些总结。
1、 生成VBA代码。Word本身具有很强的可扩展性,尤其是支持用户自定义功能,其实现
的主要方式就是通过VBA代码来实现的。在“工具->宏->Visual Basic编辑器”里面就可以看
到具体的宏代码,可以直接进行编辑。而且还可以使用录制宏的功能自动生成宏代码。方法是
选择“工具->宏->录制新宏”,然后执行自己想通过程序实现的功能,如存盘、打印等功能,
此时Word一边执行你要实现功能,一边将你的操作生成了一个宏,在实现功能后,可以选择
“工具->宏->VisualBasic编辑器”,查看生成的宏代码。
例如:我们要将文档中的“讨论”全部替换成“研讨”。
a. 点击“工具->宏->录制新宏”,直接点击确定,默认的宏保存到了Normal.dot系统公
用模板里面。
b. 点击“编辑->查找”,出现弹出对话框,输入查找和替换的字,点确定。进行替换。
c. 结束宏的录制,点击结束按钮。
d. 按F11或者“工具->宏->Visual Basic 编辑器”,查看宏代码。缺省查看Nor ......
Delphi 7事件的多处理机制
Allen Tao
2007-08-19
首先解释一下这个题目。在我使用Delphi 7的过程中发现,一个对象的事件只能被一个过程处理。如果多次给这个对象的事件赋给处理事件的过程,最后真正处理事件的将是最后赋值的那个过程。例如,有类TMyClass中定义了一个事件OnSomeFired,在类TClientClass中该类被实例化,它的事件被处理。如下所示:
constructor TClientClass.Create;
var
myObj: TMyClass;
begin
//…
myObj:= TMyClass.Create;
myObj.OnSomeFired:= SomeFired1;
myObj.OnSomeFired:= SomeFired2;
这里的SomeFired1与SomeFired2都是TClientClass中定义的处理过程。其最终的结果是当OnSomeFired事件发生时,只有SomeFired2被调用。
但在编程的实际中,往往需要一个事件被多个方法所处理。为此,我参考了一些对这个问题的解决办法,总结得出了一个自己的方法,称为事件的多处理机制。
原理
Delphi 7中的事件本质上是一种过程指针。但事件类型在定义时要比一般过程指针在最后多一个“of object”,如常用的TNotifyEvent的定义是:
TNotifyEvent = procedure(Send ......
/*检查是否选中复选框2010年3月6日10:36:48*/
function checkSelect(id, msg){
var checks = $(id).getElementsByTagName("input");
var flag=false;
if(checks.length!=null){
for(var i=0;i<checks.length;i++){
if(checks[i].type=="checkbox" && checks[i].checked==true){
flag=true;
}
}
}
if(!flag){
return confirm(msg);
}
return true;
}
原创文章,转载注明! ......