AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kasten mit Pfeiltasten bewegen
Thema durchsuchen
Ansicht
Themen-Optionen

Kasten mit Pfeiltasten bewegen

Ein Thema von Spiderpig_GER_15 · begonnen am 12. Apr 2008 · letzter Beitrag vom 3. Mai 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

Registriert seit: 17. Mär 2008
298 Beiträge
 
Delphi 7 Personal
 
#11

Re: Kasten mit Pfeiltasten bewegen

  Alt 13. Apr 2008, 00:02
perfekt, echt geil, soo wie ich mir das vorgestellt hab, danke!

Der erste Schritt auf dem Weg zum Egosmoorhuhn-Shooter ist gemacht
---Zufall ist das Inkognito Gottes---
  Mit Zitat antworten Zitat
byte

Registriert seit: 1. Mai 2008
6 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 09:49
..was ich nochned versteh:
ich hab n canvas, aufm punkt xy ist ein viereck und via timer werdn koordinaten abgelesen und wird halt dargestellt.

aber wenn ich pfeiltasten drück, dann bewegt sich die markierung von buton zu button bis se an einem editfeld hängenbleibt und dort sich hin und her bewegt.. oo

ich mein, momentan ist es eigtl eine testanwendung, ich kann die steuerung auch auf WASD setzen oder so, interessiert mich grad halt..
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 10:51
KeyPreview der Form auf True und bei den Buttons/Edits TabStop auf False setzen

Mfg

PS.: Herzlich Willkommen in der DP
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
byte

Registriert seit: 1. Mai 2008
6 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 11:50
hmkay, klappt fast.. bleibt noch am edit hängen..
öhm, wie mach ich eigl buchstaben? weil mit vk_i gehts ned, mit 'i' schon garned und vk_char ist zu allgemein... oo

thx ^^
ich fang an, mit nem kumpel n orpg zu basteln.. testen grad eigtl die basics.. auf jedn fall stöber ich schon ne weile hier rum aber nur durch lesen klärt sich ned alles.. ^^
  Mit Zitat antworten Zitat
Mikender
(Gast)

n/a Beiträge
 
#15

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 12:26
Delphi-Quellcode:
  
  VK_LBUTTON $01 Linke Maustaste
  VK_RBUTTON $02 Rechte Maustaste
  VK_CANCEL $03 Für die Verarbeitung von Control-Break
  VK_MBUTTON $04 Mittlere Maustaste (Dreitastenmaus)
  -- $05 Nicht definiert
  -- $06 Nicht definiert
  -- $07 Nicht definiert
  VK_BACK $08 BACKSPACE Taste
  VK_TAB $09 TAB Taste
  -- $0A Nicht definiert
  -- $0B Nicht definiert
  VK_CLEAR $0C Löschtaste
  VK_RETURN $0D RETURN Taste
  -- $0E Nicht definiert
  -- $0F Nicht definiert
  VK_SHIFT $10 SHIFT Taste
  VK_CONTROL $11 STRG Taste
  VK_MENU $12 ALT Taste
  VK_PAUSE $13 PAUSE Taste
  VK_CAPITAL $14 CAPS LOCK Taste
  -- $15 Reserviert für Kanji-Systeme
  -- $16 Reserviert für Kanji-Systeme
  -- $17 Reserviert für Kanji-Systeme
  -- $18 Reserviert für Kanji-Systeme
  -- $19 Reserviert für Kanji-Systeme
  -- $1A Nicht definiert
  VK_ESCAPE $1B ESC Taste
  -- $1C Reserviert für Kanji-Systeme
  -- $1D Reserviert für Kanji-Systeme
  -- $1E Reserviert für Kanji-Systeme
  -- $1F Reserviert für Kanji-Systeme
  VK_SPACE $20 LEERTASTE
  VK_PRIOR $21 PAGE UP Taste
  VK_NEXT $22 PAGE DOWN Taste
  VK_END $23 ENDE Taste
  VK_HOME $24 POS1 Taste
  VK_LEFT $25 Cursortaste links
  VK_UP $26 Cursortaste oben
  VK_RIGHT $27 Cursortaste rechts
  VK_DOWN $28 Cursortaste unten
  VK_SELECT $29 SELECT Taste
  VK_PRINT $2A Druck
  VK_EXECUTE $2B Taste Ausführen (EXECUTE)
  VK_SNAPSHOT $2C PRINT SCREEN Taste für Windows 3.0 und höher
  VK_INSERT $2D EINFG Taste
  VK_DELETE $2E ENTF Taste
  VK_HELP $2F Hilfetaste
  VK_0 $30 Taste 0
  VK_1 $31 Taste 1
  VK_2 $32 Taste 2
  VK_3 $33 Taste 3
  VK_4 $34 Taste 4
  VK_5 $35 Taste 5
  VK_6 $36 Taste 6
  VK_7 $37 Taste 7
  VK_8 $38 Taste 8
  VK_9 $39 Taste 9
  -- $3A Nicht definiert
  -- $3B Nicht definiert
  -- $3C Nicht definiert
  -- $3D Nicht definiert
  -- $3E Nicht definiert
  -- $3F Nicht definiert
  -- $40 Nicht definiert
  VK_A $41 Taste A
  VK_B $42 Taste B
  VK_C $43 Taste C
  VK_D $44 Taste D
  VK_E $45 Taste E
  VK_F $46 Taste F
  VK_G $47 Taste G
  VK_H $48 Taste H
  VK_I $49 Taste I
  VK_J $4A Taste J
  VK_K $4B Taste K
  VK_L $4C Taste L
  VK_M $4D Taste M
  VK_N $4E Taste N
  VK_O $4F Taste O
  VK_P $50 Taste P
  VK_Q $51 Taste Q
  VK_R $52 Taste R
  VK_S $53 Taste S
  VK_T $54 Taste T
  VK_U $55 Taste U
  VK_V $56 Taste V
  VK_W $57 Taste W
  VK_X $58 Taste X
  VK_Y $59 Taste Y
  VK_Z $5A Taste Z
  -- $5B Nicht definiert
  -- $5C Nicht definiert
  -- $5D Nicht definiert
  -- $5E Nicht definiert
  -- $5F Nicht definiert
  VK_NUMPAD0 $60 Numerisches Tastenfeld, Taste 0
  VK_NUMPAD1 $61 Numerisches Tastenfeld, Taste 1
  VK_NUMPAD2 $62 Numerisches Tastenfeld, Taste 2
  VK_NUMPAD3 $63 Numerisches Tastenfeld, Taste 3
  VK_NUMPAD4 $64 Numerisches Tastenfeld, Taste 4
  VK_NUMPAD5 $65 Numerisches Tastenfeld, Taste 5
  VK_NUMPAD6 $66 Numerisches Tastenfeld, Taste 6
  VK_NUMPAD7 $67 Numerisches Tastenfeld, Taste 7
  VK_NUMPAD8 $68 Numerisches Tastenfeld, Taste 8
  VK_NUMPAD9 $69 Numerisches Tastenfeld, Taste 9
  VK_MULTIPLY $6A Multiplikationstaste
  VK_ADD $6B Additionstaste
  VK_SEPARATOR $6C Trenntaste
  VK_SUBTRACT $6D Subtraktionstaste
  VK_DECIMAL $6E Dezimaltrenntaste
  VK_DIVIDE $6F Divisionstaste
  VK_F1 $70 F1 Taste
  VK_F2 $71 F2 Taste
  VK_F3 $72 F3 Taste
  VK_F4 $73 F4 Taste
  VK_F5 $74 F5 Taste
  VK_F6 $75 F6 Taste
  VK_F7 $76 F7 Taste
  VK_F8 $77 F8 Taste
  VK_F9 $78 F9 Taste
  VK_F10 $79 F10 Taste
  VK_F11 $7A F11 Taste
  VK_F12 $7B F12 Taste
  VK_F13 $7C F13 Taste
  VK_F14 $7D F14 Taste
  VK_F15 $7E F15 Taste
  VK_F16 $7F F16 Taste
  VK_F17 $80 F17 Taste
  VK_F18 $81 F18 Taste
  VK_F19 $82 F19 Taste
  VK_F20 $83 F20 Taste
  VK_F21 $84 F21 Taste
  VK_F22 $85 F22 Taste
  VK_F23 $86 F23 Taste
  VK_F24 $87 F24 Taste
  -- $88 Nicht belegt
  -- $89 Nicht belegt
  -- $8A Nicht belegt
  -- $8B Nicht belegt
  -- $8C Nicht belegt
  -- $8D Nicht belegt
  -- $8E Nicht belegt
  -- $8F Nicht belegt
  VK_NUMLOCK $90 NUM LOCK Taste
  VK_SCROLL $91 SCROLL LOCK Taste
Ich glaube man kann Buchstaben auch mit Ord(I) machen (*Bin aber nicht sicher*)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 13:05
Delphi-Referenz durchsuchenVirtual key codes

Zitat:
Virtual key codes allow you to represent keyboard values for non-alphanumeric keys. Windows defines special constants for each key the user can press. These constants can then be used to refer to the keystroke in Windows API calls or in an OnKeyUp or OnKeyDown event handler.

Most of the virtual key codes are defined in the Windows unit. Additional key codes may be defined in special-purpose Windows wrappers such as the imm unit. For alphabetic keys, you should use ord with an uppercase character, for example, ord( 'M' ).

To create a virtual key code for an alphanumeric value, use the Ord method. For example the virtual key code for ‘7’ is Ord(‘7’).
$2B or not $2B
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#17

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 14:13
Zitat von alleinherrscher:
Hust ich will dir nicht deinen Drag bzw. Wunsch zum Ausprobieren klauen...aber ich habs mal fix programmiert...
Super. Das ist genau das was die Leute wollen und brauchen, um sich richtig mit Delphi auseinandersetzen zu können: Nur paar mal jammern "Ich kriegs nicht hin" und irgendwo findet sich einer, der ihnen das gibt, was sie wollen: Code zum Copy & Paste. Weiter so!
  Mit Zitat antworten Zitat
byte

Registriert seit: 1. Mai 2008
6 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 15:37
args, ich glaub, ich lass des jetzt und probier damit später rum, wenn ich dann die echte oberfläche mit directx bastel.
eigtl hatte ich 4 buttons. oben, links, rechts, unten. hab y-achse umgekehrt, also y+1 ist oben. nicht, dass sich wer wundert. weil es geht mir u.a. um echte x/y-koordinaten und die solln schon umgekehrt sein.

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
y:=y+1;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
x:=x-1;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
x:=x+1;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
y:=y-1;
end;
irgendwie tun nur die ersten beiden buttons -.- oben und links. und ich raffs ned Oo

/ das mit ord hat an sich geklappt, wurde zumindest von delphi angenommen, aber ich glaub, es war immernoch der start-button, der sich angesprochen gefühlt hat.. ich muss ma was ohne buttons und so machen und dann schaun, weils dann ja tun müsste..
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Kasten mit Pfeiltasten bewegen

  Alt 1. Mai 2008, 16:12
Gibt in der Codelib auch ein Artikel darüber!
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
byte

Registriert seit: 1. Mai 2008
6 Beiträge
 
Delphi 2007 Professional
 
#20

Re: Kasten mit Pfeiltasten bewegen

  Alt 2. Mai 2008, 18:45
1. hab ich in der codelib nix gefunden.
2. ich hab jetzt selbst was neues geschrieben. buttonlos. timage, die sich bewegen soll mit taste drücken/loslassen.
und ich hab mich eigtl stark an dem boxprogramm orientiert. aber wenn ich tasten drück, passiert nix.
dann hab ich in den timer gesetzt, dass sich bewegen soll, dann tuts. also an sich ist nix falsch, es wird nur ned aktiviert.

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    link: TImage;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormKeyRelease(Sender: TObject; var Key: Word; Shift: TShiftState);
  private
    { Private-Deklarationen }
  public
  x, y :integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin

if key=VK_left then x:=-1;
if key=VK_right then x:=1;
if key=VK_up then y:=-1;
if key=VK_down then y:=1;
end;


procedure TForm1.FormKeyRelease(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=VK_left then x:=0;
if key=VK_right then x:=0;
if key=VK_up then y:=0;
if key=VK_down then y:=0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
link.left:=link.left+1;

if link.Top>425 then link.Top:=-24;
if link.Left>425 then link.Left:=-24;
if link.Top<-24 then link.Top:=425;
if link.Left<-24 then link.Left:=425;

link.Top:=link.Top+y;
link.Left:=link.Left+x;
end;

end.
image heißt link, weil soll n held sein x)
mit diesemlink.left:=link.left+1; bewegt sichs halt generell. daran sieht man halt, dasses an sich tun müsste.
und die 425 sind halt die bildgrenzen, damits nicht ins nix laufen kann..
kann mir nun wer sagen, worans liegt?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.
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