Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   On Key Down funktioniert nicht (https://www.delphipraxis.net/172044-key-down-funktioniert-nicht.html)

fox67 10. Dez 2012 19:59

On Key Down funktioniert nicht
 
Um zu verhindern das mein Bruder immer heimlich an meinen Computer geht habe ich dieses nette Programm gemacht.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure OnKey(Sender: TObject; var Key: Word; Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  inter : Boolean;
  pos : TPoint;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 if inter = true then
begin
inter := false;
end
else
begin
inter := true;

//application.Minimize;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if not inter = false then
begin

 pos := Point(mouse.CursorPos.X-2,mouse.CursorPos.Y-2);
 mouse.CursorPos := pos;

end;
end;

procedure TForm1.OnKey(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = vk_down then inter := false;
end;

end.
Es funktioniert zwar kanz gut doch dass auschalten per teastendruck klappt nicht

Bummi 10. Dez 2012 20:11

AW: On Key Down funktioniert nicht
 
Schalte mal im Objektinspektor KeyPreview auf true, sonst wird es im Form nicht behandelt wenn ein anderes Control den Fokus hat.

fox67 10. Dez 2012 20:16

AW: On Key Down funktioniert nicht
 
Funktioniert leider nicht

Helmi 10. Dez 2012 20:22

AW: On Key Down funktioniert nicht
 
doppelte Verneinungen gibts nur in der bayrischen Sprache
ansonsten:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if inter then //inter ist schon Boolean
 begin
statt:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if not inter = false then
 begin
und bitte nicht auf true abfragen
statt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter = true then
 begin
gleich so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter then
 begin

Bummi 10. Dez 2012 20:23

AW: On Key Down funktioniert nicht
 
ich weiß ja nicht was Du vor hast, aber versuch's mal so
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 
  inter := not inter;
   
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if inter then
begin

 pos := Point(mouse.CursorPos.X-2,mouse.CursorPos.Y-2);
 mouse.CursorPos := pos;

end;
end;

procedure TForm1.OnKey(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = vk_down then inter := not inter; // wenn Du toggeln willst
end;

fox67 10. Dez 2012 20:27

AW: On Key Down funktioniert nicht
 
Zitat:

Zitat von Helmi (Beitrag 1194976)
doppelte Verneinungen gibts nur in der bayrischen Sprache
ansonsten:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if inter then //inter ist schon Boolean
 begin
statt:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
 begin
  if not inter = false then
 begin
und bitte nicht auf true abfragen
statt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter = true then
 begin
gleich so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if inter then
 begin

Stimmt :thumb: hab ich gleich mal geändert Danke :D
aber leider funktioniert es immer noch nicht dafür habe ich einen verdächtigen und zwar avast den meine Delphi programme werden immer mal wieder von avast blockiert

Popov 10. Dez 2012 20:30

AW: On Key Down funktioniert nicht
 
Wenn wir schon dabei sind, so geht es auch:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  inter := not inter;
end;
//Edit:

Was soll das Programm machen?

fox67 10. Dez 2012 20:34

AW: On Key Down funktioniert nicht
 
Hat Bummi schon geschrieben

fox67 10. Dez 2012 20:42

AW: On Key Down funktioniert nicht
 
Es liegt eindeutig an der abfrage ob inter = true ist warum auch immer :?:

Popov 10. Dez 2012 20:55

AW: On Key Down funktioniert nicht
 
Zitat:

Zitat von fox67 (Beitrag 1194980)
Hat Bummi schon geschrieben

Nicht bemerkt.

Du suchst Schutz vor deinem Bruder? Hier mein altes Programm "Irrer Iwan". Und bedenke, mit Strg-Alt-Mausklick kommt du wieder raus.

Delphi-Quellcode:
//****************************************************************************//
//                                                                            //
//                               IRRER IWAN                                  //
//                                                                            //
//****************************************************************************//

procedure TForm1.FormCreate(Sender: TObject);
begin
  BorderStyle := bsNone;
  FormStyle := fsStayOnTop;
  Width := 1;
  Height := 1;
  Timer1.Interval := 1;
  //und nicht vergessen, mit ALT+F4 kann man ein Programm beenden ;)
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Left := Mouse.CursorPos.X;
  Top := Mouse.CursorPos.Y;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  Key := #0;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  //mit STRG+ALT+linke-Maustaste kann man das Programm beenden
  if (ssCtrl in Shift) and (ssAlt in Shift) and (ssLeft in Shift) then Close;
end;
Es ist natürlich ein Juxprogramm, aber...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz