争怎路由网/网站教程/内容

Delphi使用技巧ABC

网站教程2024-07-12 阅读
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,然后看示例代码:

procedure TForm1.FormCreate(Sender: TObject);

  begin label1.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过大,只有左上角被显示。 

……

相关阅读