ASo blockieren Sie Systemfunktionstasten
Manchmal möchten wir nicht, dass das Programm vom Benutzer mit Alt+Tab, Strg+Alt+Entf, Strg+Esc und anderen Systemfunktionstasten (z. B. automatischen Demonstrationsprogrammen) unterbrochen wird. Was sollen wir also tun? Ich möchte Sie daran erinnern, dass diese Funktionstasten beim Ausführen des Bildschirmschoners inaktiv sind. Das heißt, solange Ihr Programm ausgeführt wird, können Sie Windows so „austricksen“, dass es denkt, dass es auf dem Bildschirm angezeigt wird. Der Schutzstatus ist jetzt aktiviert ! Bitte schauen Sie sich den folgenden Code an:
var
temp: ganze Zahl;
beginnen
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @temp, 0);
Ende;
Vergessen Sie natürlich nicht, die Einstellungen wiederherzustellen und Windows am Ende des Programms „aufzuwecken“. Der Code lautet wie folgt:
var
temp: ganze Zahl;
beginnen
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @temp, 0);
Ende;
BSo rufen Sie Zweige auf
Die meisten Steuerelemente in Delphi verfügen über eine praktische Hint-Eigenschaft, bei der es sich um eine schwebende Eingabeaufforderung handelt. Aber manchmal ist die Eingabeaufforderung lang. Kann die schwebende Eingabeaufforderungsleiste in separaten Zeilen angezeigt werden? Tatsächlich handelt es sich bei Hint um eine Zeichenfolge, sodass Delphi das Wagenrücklauf-Steuerzeichen bei der Anzeige der Zeichenfolge automatisch interpretiert. Fügen Sie also einfach das Wagenrücklauf-Steuerzeichen hinzu. Basierend auf diesem Prinzip können wir auch eine einzigartige vertikale Eingabeaufforderungsleiste erstellen. Bitte arrangieren Sie zunächst ein Etikett in Formular1 und sehen Sie sich dann den Beispielcode an:
PROzedur TForm1.FormCreate(Sender: TObject);
begin label1.Hint := 'vertikal' + #13 + 'gerade' + #13 + 'ti' + #13 + 'show';
Ende;
CSo zeigen Sie Bilder im Menü an
Haben Sie Office97 verwendet? Finden Sie es erfrischend, Symbole in Menüs anzuzeigen? Wenn Sie möchten, dass Ihr Programm das i-Tüpfelchen ist, dann bereiten Sie bmp bitte so schnell wie möglich vor!
Angenommen, Sie planen, ein Druckersymbol (der Dateiname ist c:/inter.bmp) zum 9. Element (die Seriennummer wird in 8 geändert) „Drucken“ in der Menüleiste „Datei“ (Name ist n1) hinzuzufügen solange das OnCreate-Ereignis des Formulars wie folgt geschrieben ist:
var
Bmp: TPicture;
beginnen
Bmp := TPicture.Create;
Bmp.LoadFromFile(′c:/printer.bmp′);
SetMenuItemBitmaps(n1.Handle,8, MF_BYPOSITION,Bmp.Bitmap.Handle, Bmp.Bitmap.Handle);
Ende;
Unter diesen wird das erste bitmap.handle für nicht ausgewählte Menüelemente (nicht aktiviert) verwendet, und das zweite gibt die Bitmap an, die angezeigt wird, wenn es ausgewählt (aktiviert) ist. Sie können gleich oder unterschiedlich sein. Da außerdem die Höhe der Menüelemente begrenzt ist, wird bei einer zu großen Bitmap nur die obere linke Ecke angezeigt. (Shanghai Wang Zhen)