Delphi使用技巧ABC 汪箴 1998年 第22期 13版 #1  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; #1  B.如何分行提示   Delphi中大部分控件都有一个实用的Hint属性,即浮动条提示。但有时提示较长,是否可以使得浮动提示条分行显示呢?其实,Hint是一个字符串(string),因而Delphi显示该字符串时会自动解释其中的回车控制符,所以只要加上回车控制符就可以了。依此原理,我们还能做出别具一格的垂直提示条。请先在form1中布置一个label,然后看示例代码: procedure TForm1.FormCreate(Sender: TObject);   begin label1.Hint := ′垂′ + #13 + ′直′+ #13 + ′提′ + #13 + ′示′;   end; #1  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过大,只有左上角被显示。