计算机二级DELPHI技巧:构件制作步骤

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  1、 Taborder Tabstop:
  这组表识号本来是用来表示组件的按键顺序以及在该组件上是否停留的标识号。但是如果在某些时候稍微重视一下的话,将会事半功倍。下面略举一例:桌面上有几个编辑框,用户希望按回车键、上下方向键而不是TAB在其间来回游动。
  > 属性及相关值:
  MainFrame: KeyPreview = True
  Edit_Name :TabOrder = 0;
  Edit_Age :TabOrder = 1;
  Edit_Adress :TabOrder = 2;
  > 代码及说明:
  在interface 的private定义一个过程
  procedure TForm1.Tab(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  Begin
  (**)
  if (key=VK_Down) or (key=13) then
  SelectNext(ActiveControl,True,True);
  if key=VK_Up then
  SelectNext(ActiveControl,False,True);
  Key:=0;
  end;
  procedure TForm1.FormCreate(Sender: TObject);
  begin
  Edit_Name. OnKeyDown = Tab;
  Edit_Age .OnKeyDown = Tab;
  Edit_Adress . OnKeyDown = Tab;
  end;
  当然,我们可以利用Delphi的灵活性更加方便的达到这个目的:移动到对象查看器,在Edit_Name的OnKeyDown中输入Tab后回车,Delphi自动创建该事件,然后将Edit_Age及Edit_Adress 的OnKeyDown事件连接到Tab即可(方法很简单:分别到各组件的OnKeyDown事件处下拉并选择Tab即可)。
  2、 Tag:
  该属性也有很多比较精妙的用处,特别是在提炼代码的时候。   下面略举一例(概括性的):
  case (Sender as TEdit).Tag of
  10..100:begin
  //处理过程
  end;//end 10_100
  //其他情况
  end;//end case
  这样避免了分别为每个组件写代码的劳动,增强了程序的可读性,也减少了程序的体积。
   3、 Handle:
   这就是所谓的句柄,在Windows中,句柄是系统内部数据结构的引用。例如,我们正在使用某个窗体时,系统会知道正在使用的窗体的号码,也因此能接受我们的(应用程序)请求,对该窗体进行各种操作。当然,它不仅仅指的是我们平时常见的窗体句柄,还包括菜单、位图、图表、鼠标、菜单等。常规的用法不是我们这里要讨论的,比如:
  procedure TForm1.ChangeTitleClick(Sender: TObject);
  begin
  SetWindowText(handle,’Liangming’’s here’);
  end;
  下面举一个利用Handle传递位图的例子:
  procedure TForm1.LoadBmpClick(Sender: TObject);
  var
  bmp:TBitmap;
  begin
  bmp:=TBitmap.Create;
  try
  bmp.LoadFromFile(’c://windows//setup.bmp’);
  with image1 do begin
  Picture.Bitmap.Handle:=bmp.Handle;
  Update;
  Refresh;
  end;
  finally
  bmp.Free;
  end;
  end;

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答