AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster verschwindet

Ein Thema von Hansa · begonnen am 1. Jan 2003 · letzter Beitrag vom 1. Jan 2003
Antwort Antwort
Seite 1 von 2  1 2      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Fenster verschwindet

  Alt 1. Jan 2003, 16:42
Hi,

ich kapiere immer noch manche einfachen Sachen in Delphi nicht.
Code:
  if (Key = VK_F9) AND (Edit1.Enabled) then begin
    Form3.Show;
    Form3.Edit1.SetFocus;
    Form3.Hide;
  end;
Hier soll einfach nur mit F9 ein Fenster aufgehen, in das man etwas eingibt. Das Fenster besteht nur aus einer Form und einem Edit. Das Fenster blinkt kurz auf und verschwindet wieder. Eingeben kann ich nichts.

Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2
  Alt 1. Jan 2003, 16:48
Hi,

noch etwas in diesem Zusammenhang : Ich habe jetzt mehrere Forms mit einem Edit-Feld. Das heißt bei jeder Form Edit1. Das könnte doch zu Verwechslungen führen. Wie macht ihr das. Benennt ihr die alle um ? Die Arbeit habe ich mir bis jetzt nämlich nicht gemacht.

Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 1. Jan 2003, 17:01
Hi!
Umbenennen ist so ne Sache manche machen es manche nicht
Aber mit deiner Form kann das auch nichts werden, wenn du sofort nachdem du sie mit show zeigst wieder mit hide verschwinden lässt. Mein Tipp Bei der zu zeigenden Form im OnEnter Event des Edit-Feldes abfragen ob Return gedrückt wurde und dann die Form wieder verstecken.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 1. Jan 2003, 17:07
Moin Hansa,

wenn das Fenster weiter angezeigt werden soll, musst Du es mit ShowModal anzeigen, ansonsten wird Show ausgeführt, die das Show aufrufende Routine läuft weiter, und ruft kurz danach Hide auf.

Ausserdem finde ich es "aufgeräumter" Komponenten eines Fensters auch in dessen Unit anzusprechen, wie z.B. den SetFocus auf das Edit Feld.
Das gehört, für meinen Geschmack, z.b., in das OnShow von Form3.

Was die Bennung von Komponenten angeht:
Also ich habe mir angewöhnt, alle Komponenten mit aussagekräftigen Namen zu versehen, selbst StaticText Felder.
Von Formularen, Edits, Button usw. mal ganz zu schweigen.
Da ich für so etwas Namenskonventionen habe brauche ich mir da meist nicht mal mühsam einen Namen einfallen zu lassen, der ergibt sich fast automatisch
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5
  Alt 1. Jan 2003, 17:13
Hi,

heute scheint nicht so mein Tag zu sein.

Code:
procedure TForm3.Edit1Enter(Sender: TObject);
begin
  if (Key = VK_Return) then
    Form3.Hide;
end;
Key kennt er nicht. Wo krieg ich den denn her ? Und gleich noch eine Frage, die gut passt : Habe auf der Haupt-Form nach einen Button angelegt, wo draufsteht F9. Wenn der Button geclickt wird, soll das gleiche passieren, als wenn F9 gedrückt wird.

Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#6
  Alt 1. Jan 2003, 17:17
Sorry, war mein Fehler nimm das OnKeyUp Event vom Edit-Feld dafür.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 1. Jan 2003, 17:28
Moin Hansa,

dann musst Du dem OnClick des Buttons die gleiche Routine zuweisen, wie sie beim Druck auf F9 ausgeführt wird.
Ggf. im OnClick aufrufen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8
  Alt 1. Jan 2003, 17:29
Hi,

das geht jetzt, wie es soll !
Zitat von Christian Seehase:
Ausserdem finde ich es "aufgeräumter" Komponenten eines Fensters auch in dessen Unit anzusprechen, wie z.B. den SetFocus auf das Edit Feld.
Hast Recht. In der aufrufenden Unit steht jetzt nur noch Form3.Show. Das geht wohl nicht anders. Du benennst alle Namen um ? Dafür war ich bisher zu faul. Aber ich glaube, ich werde es in Zukunft auch so machen. Das ShowModal, wäre allerdings hier verkehrt, denn das Fenster soll direkt nach der Eingabe wieder verschwinden.

@Phlux : Jo, das OnKeyUp, war das richtige.

Jetzt müßte ich es nur noch hinkriegen, daß bei geclicktem Button dasselbe gemacht wird, wie bei F9.

Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#9
  Alt 1. Jan 2003, 17:36
Eigentliczh würde ich die Routine um die Form zu zeigen ins OnClick-Event des buttons schreiben und dann wenn du im Event wo du abfragst ob F9 gedrückt wurde nur [ButtonName].Click ausführen, so dürfte das hinhauen.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10
  Alt 1. Jan 2003, 17:44
Hi,

Code:
 
 if (Key = VK_F9) AND (Edit1.Enabled) then
   Button1.Click;
In Button1.Click steht nur Form3.Show. Vorher wars umgekehrt. Das da ist etwas eleganter, aber bei Click auf den Button passiert nichts. Bei F9 schon.

Gruß
Hansa[/quote]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:40 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