Form OnTop? Form Verschieben?


h4xter

Grünschnabel
#1
2 Fragen:

Wie kann ich die Form OnTop machen?

Und wie kann ich mit GetAsyncKeyState die Form mit den Pfeilen (links,rechts,oben,unter) bewegen?

lg h4xter und danke :)
 

h4xter

Grünschnabel
#2
Noch ne Frage.

Wenn ich mein Programm öffne, will ich es so machen dass wen ich Insert drücke sich die Form sichbar macht.

Muss ich den Code in einen Button machen oder Timer oder in die Form?
 

ComFreek

Mod | @comfreek
Moderator
#3
Hallo h4xter,

1.
Wenn die Form unsichtbar ist, kannst du keine Tasten abfangen, denn sie ist nicht aktiv.

2.
was meinst du mit onTop? Meinst du das die Form ganz oben am Bildschirm sein soll, dann musst die Eigentschaft Top auf 0 setzen.

3.
Du musst dafür das Ereignis OnKeyPress (OnKeyDown geht auch) abfangen:
Code:
void __fastcall Tmain::FormKeyPress(TObject *Sender, char &Key)
{
  if (Key==VK_LEFT) // Für linke Pfeiltaste
  {
    Left -= 10; // Jenachdem wie viel du es verschieben willst
  }
  // Es gibt noch VK_RIGHT, VK_UP und VK_DOWN für die rechte, obere und untere
  // Pfeiltaste
}
OnKeyDown unterscheidet sich nur, weil es noch andere Parameter hat, wie TShiftState (wenn Strg-Taste oder so gedrückt).