AComo bloquear teclas de função do sistema
Às vezes não queremos que o programa seja interrompido pelo usuário usando Alt+Tab, Ctrl+Alt+Del, Ctrl+Esc e outras teclas de função do sistema (como programas de demonstração automática), então o que devemos fazer? Deixe-me lembrá-lo de que essas teclas de função ficam inativas ao executar o protetor de tela - ou seja, enquanto o programa estiver em execução, você pode "enganar" o Windows para que ele pense que está na tela. O status de proteção agora está em vigor. ! Por favor, observe o seguinte código:
var
temp: inteiro;
começar
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @temp, 0);
fim;
Claro, não se esqueça de restaurar as configurações e “acordar” o Windows ao final do programa. O código é o seguinte:
var
temp: inteiro;
começar
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @temp, 0);
fim;
BComo solicitar ramificações
A maioria dos controles no Delphi possui uma propriedade prática Hint, que é um prompt de barra flutuante. Mas às vezes o prompt é longo. A barra flutuante do prompt pode ser exibida em linhas separadas? Na verdade, Hint é uma string, então o Delphi interpretará automaticamente o caractere de controle de retorno de carro ao exibir a string, então basta adicionar o caractere de controle de retorno de carro. Com base neste princípio, também podemos fazer uma barra de prompt vertical exclusiva. Primeiro, organize um rótulo no form1 e, em seguida, observe o código de exemplo:
Procedimento TForm1.FormCreate(Remetente: TObject);
comece label1.Hint := 'vertical' + #13 + 'reto' + #13 + 'ti' + #13 + 'mostrar';
fim;
CComo exibir imagens no menu
Você já usou o Office97? Você acha revigorante exibir ícones nos menus? Se você deseja que seu programa seja a cereja do bolo, prepare o bmp o mais rápido possível!
Suponha que você planeje adicionar um ícone de impressora (o nome do arquivo é c:/inter.bmp) ao 9º item (o número de série é alterado para 8) "Imprimir" na barra de menu "Arquivo" (o nome é n1), então desde que o evento OnCreate do formulário seja escrito assim:
var
Bmp: TImagem;
começar
Bmp := TPicture.Create;
Bmp.LoadFromFile(′c:/printer.bmp′);
SetMenuItemBitmaps(n1.Handle,8, MF_BYPOSITION,Bmp.Bitmap.Handle, Bmp.Bitmap.Handle);
fim;
Dentre eles, o primeiro bitmap.handle é usado para itens de menu não selecionados (desmarcados), e o segundo especifica o bitmap exibido quando é selecionado (marcado). Além disso, como a altura dos itens de menu é limitada, se o bitmap for muito grande, apenas o canto superior esquerdo será exibido. (Xangai Wang Zhen)