说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

控件使用技巧-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
控件使用技巧-Delphi资料

在Delphi中实现类似VB中的控件数组。

你可以通过设置一组相应控件的TAG属性来实现这一功能。首先在窗体中放置3个BUTTON控件,然后分别设置这三个控件的TAG属性为1、2、3。接下来双击任意一个按钮,

在其代码部分输入如下代码:

procedureTForm1.Button1Click(Sender:TObject);

varcap:string;

begin

caseTButton(sender).Tagof

1:ShowMessage(′1stButtonPressed′);

2:ShowMessage(′2ndButtonPressed′);

3:ShowMessage(′3rdButtonPressed′);

end;

end;

最后在其他两个按钮的ONCLICK事件中选择已经编好的代码。这样一来就可以实现以上功能了。

在Delphi中实现不同风格的SPEEDBUTTON。

在许多常用的软件(如WORD)中经常会遇到这样的快捷按钮(SPEEDBUTTON):若干个按钮做为一组来工作,同一时刻只能有一个按钮处于按下状态,比如WORD中的四个段落排版按钮。在Delphi中实现这样的功能只需要简单的一个步骤:设置若干个SPEEDBUTTON按钮的GROUPINDEX属性设置为同一个大于0的整数。

还有另外一种快捷按钮,我们称之为开关按钮,比如WORD中的“粗体”按钮,这种按钮每按一次状态就改变一次。在Delphi中实现这种按钮只需要两步设置:首先设置按钮的GROUPINDEX属性为一个大于0的整数,第二步设置ALLOWALLUP属性为TRUE。这样就完成了开关按钮的建立。

通过调用API确定MEMO控件中的当前行和列。

你可以调用WINDOWSAPI中的EM—LINEFROMCHAR和EM—LINEINDEX函数来确定MEMO控件中的当前行和列,具体调用的过程见下面的过程。

varLineNum:longint;

CharsBeforeLine:longint;

begin

LineNumΚSendMessage(Memo1.Handle,EM—LINEFROMCHAR,Memo1.SelStart,0);

CharsBeforeLine:=SendMessage(Memo1.Handle,EM—LINEINDEX,LineNum,0);

Label1.Caption:=′Line′+IntToStr(LineNum+1)

Lab

el2.Caption:=′Position′+IntToStr((Memo1.SelStart-CharsBeforeLine)+1);

end;

动态产生构件并相应事件

方法:

var

MyBu : TBUTTON;

begin

MyBu:=TBUTTON.Create(Form1);

MyBu.Parent:=Form1;

MyBu.Left:=10;

MyBu.Top:=10;

MyBu.OnClick:=MyOnClick;

MyBu.Show;

end;

注:MyOnClick为响应的事件过程.

几个构件共用一段代码

方法:

(Sender as TStringGrid).Width:=5;

注:这样将发送消息的构件强制类型转换成TStringGrid类

并改变它的属性.

回车替Tab下移控件

需要用回车键代替TAB键下移一个控件时,把KeyPress设为True,加入下列代码拦截击键:

Procedure TForm1.FormKeyPress(Sender:Tobject;Var Key:Char);

Begin

if key=#13 then { 判断是按执行键}

if not (ActiveControl is TDbgrid) Then

Begin { 不是在TDbgrid控件内}

key:=#0;

perform(WM_NEXTDLGCTL

0

0);{移动到下一个控件}

end else

if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}

begin

With TDbgrid(ActiveControl) Do

if Selectedindex<(fieldcount-1) then

Selectedindex:=Selectedindex+1{ 移动到下一字段}

else Selectedindex:=0;

end;

End;

分行提示

无论你什么时候要分行显示的时候,只需要在字符串中间加入“#13”就可以了,但在属性框里却不能这么干,以下就几种控件加以说明:

begin

Label1.caption :='垂'+#13+'直'+#13+'显'+#13+'示';

Edit1.Hint :='输入框说明:'+#13+'文本的输入';

end;

运行时生成控件

㈠、运行时生成可视控件:以下以TEdit 控件为例

1.在Form的Public中定义TEdit控件

Edit1:TEdit;

2.在需要生成的地方加入以下代码:

Edit1:=TEdit.Create(Self);

Edit1.Parent:=Form1;

Edit1.Left ?:=20;

Edit1.Top :=20;

Edit1.Text :='Edit1 Text';

3.使用完毕后,释放分配的资源

if? Assigned(Edit1) then Edit1.Free; ?

㈡、运行时生成非可视控件:以下以 TTimer控件为例

1.在Form的Public中定义TTimert控件

Timer1:TTimber;

2.在需要生成的地方加入以下代码:

Timer1:=TTimer.Create(Self);

Timer1.OnTimer:=YourAction;

YourAction是自己定义的OnTimer事件,使用

procedure TForm1.YourAction(Sender:TObject); 完成

3.使用完毕后,释放分配的资源

if? Assigned(Timer1) then Timer1.Free; ?

友友姚宏宇:用C,C++和Java实现自主研发之后,放开心态迎“高朋” 新技术对传统学科的颠覆:系谱网使用大数据寻亲问祖 IDC:2015年全球平板电脑出货量将超PC Web开发者的福利 30段超实用CSS代码 库克出席D11科技大会:苹果公司没有陷入麻烦 千兆的带宽是不够的,最新研究将我们带入400G时代! 告诉你一个事实:移动互联网依然不大 一切才刚刚开始 戴尔的10亿美元云扩建计划到底是什么? iOS vs. Android,应用设计该如何对症下药? 扁平化设计五大原则 16种折磨开发者的方式 2013年度中国优秀开源项目征集活动正式启动 技术趋势:产品设计向“钱”看 服务器领域:旧时代已过 新时代正在降临 速度与金钱的碰撞:F1赛车将搭上大数据的东风 中国&#183;北京第一届开源大会Hadoop专场侧记:Hadoop已经成为大数据分析平台的标配 Marissa Mayer为何带雅虎重回门户时代? 开发者最爱的三款开发工具 Facebook开源JavaScript库:React 硬件天堂深圳行:从Seeed Studio、Knewone到柴火创客空间 消费应用开发难赚钱?做个企业app store吧 开发开源软件的智慧:够简单,很好用 历届中国云计算大会PPT集萃(终章):架构到实践的全面解析 透过现象看本质:详谈数据可视化 专家观点:HTML5无法彻底抹杀Native应用 Google地图工程主管Raj Shah跳槽至微软在线服务部门 微软证实Windows 8.1引入类“开始”按钮 系统6月26日开放下载 PHP开发者意向调查:移动开发+云服务成为焦点 研发周报:16种折磨开发者的方式 移动周报:Jolla和Sailfish OS,那些你应该知道的事儿 优化技巧分享:把内存消耗降低至原来的1/20 在win2000上调试好的程序,为什么到了xp的iis下面关于access数据库写入的页就打不开了? 不通过键盘,不通过初始化,不用SetWindowText(),如何向一个编辑控制加字符串 maya里的动画如何渲染? 数据库中的超键是什么意思? 组件如何发布? 一个小问题(请斑竹不要删) 菜鸟提问:怎样才能在编程中把一个数据库生成一个HTML文件! long型能转换为int型么? datagrid中RadioButtonList被自动选择问题? c#中如何比较两个string的大小,如"AB">"AA" return * this 问题 急!!,我VC的一个库文件坏了! 现在真是失恋的季节,各位帮帮我,我是否该该怎么办? 在线等待WIN98操作系统下载的网址 关于模板特殊化的一些问题 三个小问题 那儿有GUN c++ 下载? 关于拨号的问题 学习VB.NET的方向在哪里 两个问题 急!!,我VC的一个库文件坏了! 2000写的程序,到98下运行,发现字体变型变的很厉害,如何解决? 急!!,我VC6的一个库文件坏了! 怎样才能使服务器端更改的数据主动发送的客户端的web上呢 问题,在线等! 关于cdonts的问题,在线等候!!! sos 问一个关联表格操作问题 TNMMSG和TNMMSGServ用于哪些场合?两台电脑之间的通讯能用它吗?是不是不稳定,速度也慢? 那个高手能教教我怎麽用编程实现软盘加密呀??? document.write("<%=server.htmlencode(HTMLstr)%>"); NickTang,thanks,please come in! 非计算机专业所受到的歧视 爲什麽不能重載它的构造函数呢.不知错在哪里? 高手帮我,vb里怎么放动态的.gif格式的图片???!! 请教,程序那里出错误了? 请问如果将Applet嵌入到Html页的<applet>标记换为<object>可以吗?应该怎样来改写? 一颗星星!散分!!! 对客户不负责任的表现 如何解决屏幕分辨率的问题 我的声卡怎么启用不了? 文本编辑器,缺省文件名 初学者请教 让我失望!!! 我的red hat 装上了 windows2000却看不见了? 请大侠帮忙!!(50分) 怎么设可以同时选中StringGrid的多行? 几个问题(高手请进!) 我这个简单,谁都会的 表单取值问题,急! why ???? 小妹问题:为什么安装J2EE后,JCreator无法编译j2ee程序? .---may I borrow your book ---sorry,I____it to Mary.A.lent B.have lent C.had lent 求高数大神指导 人死了会去哪里? 英语翻译something stupidi know i stand in line until you think you have the time to spend an evening with me and if we go someplace to dance i know that there´s a chance you won´t be leaving with me then afterwards we drop into a quie 高数求指导啊 人为什么死,死了去哪? Millie,___borrow your bike?---------Sorry,I'm using it now.A may B can C must D need 这张照片是前几年拍的.翻译成英语 人死了会去哪急快错错错常常 do sth nice 翻译一下,我觉得是做的很好,对吗? AABC的词 铝生锈的哪个锈是什么东西? 有什么名言是高尔基的 what makes life difficult is that the process of facing and solving problems is a painful one这句话的语法?句子成分怎么拆分?is a painful one是修饰哪里的? 左边一个方字,右边一个人字头,人字头下一个生字.是啥字啊? 我国度低资源分布不平衡,土地生产力地区差异大,这句话对吗 Life is a process.We are a process.The universe is a process.这是什么意思啊 今天我们上心理课,老师给我们留作业说:“写20句“我是一个.的人”我想了好久都没几个...中间要填一些比较独特的,不要很简单的,像“善良,可爱.”之类的. 求大神解我一系列的高数“难题” Life is kind of a process of self-improving andLife is kind of a process of self-improving and refining.Fighting!To be the best of myself.求翻译 请你选择自己喜欢的成语从成语词典中了解它的典故短点 “编写”一词怎么造句? Life is a process of feeling这句话中文是什么意思 当人死之后,灵魂他会在哪里? 用改进造句 something 人死了到哪里去?人有没有灵魂? 问你个小小的高数题,求cos(x^2)在0到√π积分的正负.下限0上限√π,答案是先把x^2变成u.然后u=π2-t.而我是让t=u-π2 我和答案的正负正好相反啊...是我错了么?不能这样化么? 风雪夜中亮着一盏灯表达了作者怎样的思想感情 请你选择自己喜欢的成语,从成语词典中了解它的典故人教四年级下册课堂作业本里的 用持续,改善造句 风雪夜中亮着一盏灯 我在老师窗前下···,表达了我什么的思想感情 招工难 英语怎么说 用改变造句 我家对面有一座山,山腰有一所小学.童年我就在这里上学.记得有一年冬天来得特别早,天气格外冷.一个风雪交加的夜晚,我早早就钻进了铺得软软的被窝.一觉醒来,我又习惯地向对面山腰望去, 太空铝是否会生锈 高数, What makes life dreary is the want of motive没有了目的,生活便郁闷无光怎么感觉照字面翻译的不对啊”使生活郁闷的是需要动机“正好译反了 铝生锈怎么处理?摩托车的铝合金轮毂和缸体是铝的,上面有斑点是生锈吗?怎样处理? 用改革造句 我是说我们人死之后有没有轮回! 谈谈自己对生命价值的思考 高数大神进!谢谢! A的反义词是什么 这上面阿拉伯语是什么意思? 改变怎么造句 风雪夜中亮着一盏灯阅读答案我家对面有一座山,山腰有一所小学.童年我就在这里上学.记得有一年冬天来得特别早,天气格外冷.一个风雪交加的夜晚,我早早就钻进了铺得软软的被窝.一觉醒来 周老师是个好老师 (使句子表达的感情更强烈) ________的发展使人们_________ 造句 大神进,这道高数 “风雪夜中亮着一盏灯”这个故事的梗概怎么写?我要100字左右的. 变迁怎么造句 养殖绵羊的利润高还是山羊的利润高我 想养羊,刚又人说绵羊的利润比山羊高是这样吗?绵羊的主要利润来自什么?毛还是卖肉?养绵羊的说一下,一只绵羊一年的利润是多少? 上面竹字头下面一个生 念什么 用变迁造句 something nice与nice something区别是什么 有关古代勤奋好学的故事还有许多,请把有关故事的成语或典故写下来少点 求翻译 You'll have something nice out as you have had something nice in.在国外你将拥有一些美好的事物,就如同在国内一样. 我想in和out大概是国内国外的意思吧?具体的要结合上下文. ...在国外(或外地)你将 高数大神指导 求100个有典故的成语以及解释,不用写成语的故事但要成语解释.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘