Delphi使用ABC

作者: 2011/5/30 15:23:02

本文章分享给大家的是关于Delphi使用,分为三部分:A,如何屏蔽系统功能键 B,如何分行提示 C,如何在菜单中显示图片。希望对大家有所帮助。


      A如何屏蔽系统功能键
  有时我们不希望程序被用户用Alt+Tab、Ctrl+Alt+Del、Ctrl+Esc等系统功能键打断(比如自动演示程序),那么该怎么做呢?提示你一点,在运行屏幕保护程序的时候,这些功能键都是不起作用的——也就是说,只要在你的程序运行过程中,“欺骗”一下Windows,使它自以为正处在屏幕保护状态就成了!请看下面这段代码:
  var
  temp:integer;
  begin
  SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@temp,0);
  end;
  当然,在程序结尾处千万别忘了恢复设置,把Windows“唤醒”。代码如下:
  var
  temp:integer;
  begin
  SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@temp,0);
  end;
  B如何分行提示
  Delphi中大部分控件都有一个实用的Hint属性,即浮动条提示。但有时提示较长,是否可以使得浮动提示条分行显示呢?其实,Hint是一个字符串(string),因而Delphi显示该字符串时会自动解释其中的回车控制符,所以只要加上回车控制符就可以了。依此原理,我们还能做出别具一格的垂直提示条。请先在form1中布置一个label,然后看示例代码:
  procedureTForm1.FormCreate(Sender:TObject);
  beginlabel1.Hint:=′垂′+#13+′直′+#13+′提′+#13+′示′;
  end;
  C如何在菜单中显示图片
  用过Office97吗?是不是觉得在菜单中显示图标很新鲜?如果想让你的程序也能如此锦上添花,那就请你赶快准备bmp吧!
  假设你打算为“文件”菜单栏(name为n1)下的第9项(序号改为8)“打印”添加一个打印机图标(文件名为c:\inter.bmp),那只要在form的OnCreate事件中这样编写:
  var
  Bmp:TPicture;
  begin
  Bmp:=TPicture.Create;
  Bmp.LoadFromFile(′c:\printer.bmp′);
  SetMenuItemBitmaps(n1.Handle,8,MF_BYPOSITION,Bmp.Bitmap.Handle,Bmp.Bitmap.Handle);
  end;
  其中,第一个bitmap.handle用于未选定菜单项(unchecked),第二个则指定了选定(checked)时所显示的bitmap,同异皆可。另外,由于菜单项的高度有限,所以,若bitmap过大,只有左上角被显示。

特别推荐

玩家留言 跟帖评论
查看更多评论