Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Lazarus a keyDown  (Přečteno 2731 krát)

oraf

  • Aktivní člen
  • *
  • Příspěvků: 203
Lazarus a keyDown
« kdy: 17 Září 2014, 06:19:06 »
Zdravim ,
resim pro mne nepochopitelny problem ,
vytvoril jsem okno a odchytaval zmackle klavesy vse fungovalo nez jsem dal do formu Button, pak to neodchytava nic, tak jsem tlacitko zase smazal ale uz to zase nefunguje nevite nekdo co s tim ?


Kód: [Vybrat]
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, LCLType,
  StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)

    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormShow(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
  );
begin
    ShowMessage('key');
case key of

VK_LEFT : begin
           ShowMessage('levo');
         end;
VK_RIGHT : begin
           ShowMessage('pravo');
           end;
VK_F  : begin
          ShowMessage('F');
              end;
VK_O :begin
        ShowMessage('O');
             end;
VK_SPACE: begin
          ShowMessage('space');
end;
 VK_Q :begin

      end;
VK_A :begin
          ShowMessage('A');

end;
VK_M :begin
   ShowMessage('M');
end;


end;


end;



procedure TForm1.FormShow(Sender: TObject);
begin
  Form1.BorderStyle:=bsNone;
  Form1.WindowState:=wsFullScreen;
end;

end.

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:Lazarus a keyDown
« Odpověď #1 kdy: 17 Září 2014, 06:37:40 »
Experimentuj s property:
Form1.KeyPreview := True;
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

oraf

  • Aktivní člen
  • *
  • Příspěvků: 203
Re:Lazarus a keyDown
« Odpověď #2 kdy: 17 Září 2014, 08:27:39 »
to mnoho nezabralo a vubec se to chvoa nejak podivne , jako by si to pamatovalo nejake nastaveni ktere ale v kodu vubec neni , dal jsem tam kdysi BTN, s enabled:=false, pak to smazal a z kodu odstranil vse co se k tlacitku vazalo a ted kdyz pridam jakekoliv tlacito je enabled false, a i kdyz  nastavim true stale je neaktivni

oraf

  • Aktivní člen
  • *
  • Příspěvků: 203
Re:Lazarus a keyDown
« Odpověď #3 kdy: 17 Září 2014, 08:41:51 »
Respektive vsechny komponenty co maji moznost enabled mam nastavene na False,  a neni mozne to nejak zmenit

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:Lazarus a keyDown
« Odpověď #4 kdy: 17 Září 2014, 12:10:33 »
Divné a u formuláře máš
Kód: [Vybrat]
Enabled := true; ?

Vytvoř nový project, jestli to bude fungovat.

Možná by pomohlo promazání projectu.
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

 

Provoz zaštiťuje spolek OpenAlt.