AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Gegenteil von SetFocus oder wie aktives Edit freigeben
Thema durchsuchen
Ansicht
Themen-Optionen

Gegenteil von SetFocus oder wie aktives Edit freigeben

Ein Thema von ibp · begonnen am 8. Jan 2006 · letzter Beitrag vom 8. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#1

Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 17:32
Hallo,

habe ein Problem mit dem Freigeben von Eingabekomponenten. Steht diese im Editiermodus, also ich gebe z.b. gerade in tedit etwas ein, dann soll das edit freigegeben werden, dabei bekomme ich aber immer eine Zugriffsverletzung, da noch der Eingabefocus besteht!

wie kann ich das lösen?
gibt es ein gegenteil von setfocus welches ich vor dem freigeben der kompo aufrufen könnte?
gibt es andere möglichkeiten?

danke schon mal
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 17:39
Du willst ein TEdit in OnChange freigegeben? Das funktioniert nicht, da nach dem OnChange noch irgendwas mit dem Edit-Feld gemacht wird. Du müsstest es so wie TForm.Release machen. Heisst dir eine Windows-Message mit PostMessage an das Formular senden und dann in dieser Nachricht das Edit-Feld freigeben.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 17:45
Moin ipb,

was hat das eigentlich für einen Sinn, bzw. was willst Du erreichen?
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
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 17:45
Ich muss ja nicht wissen wozu das gut sein soll - aber das hier geht:

Delphi-Quellcode:
procedure TDemoForm.EditKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    ActiveControl := nil;
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#5

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 17:48
mal etwas genauer...

1... eingabe in edit
2... neuer knoten in treeview anklicken
3... jetzt sollte ein neus formular aufgebaut werden dazu die alten kompos löschen

das ist das problem, der eingabefocus bleibt beim edit! und dann knallt es.
habe es schon mit edit.perform(wm_killfocus,0,0) probiert, klappt aber auch nicht!
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#6

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 17:52
Zitat von marabu:
Ich muss ja nicht wissen wozu das gut sein soll - aber das hier geht:

Delphi-Quellcode:
procedure TDemoForm.EditKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    ActiveControl := nil;
  end;
end;
Grüße vom marabu
da hast du mich falsch verstanden, es geht nicht darum bei der eingabe das edit zu zerlegen!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 17:59
Moin ibp,

Zitat von ibp:
es geht nicht darum bei der eingabe das edit zu zerlegen!
das hast Du allerdings zweimal so geschrieben

Zitat von ibp:
...dann soll das edit freigegeben werden, ...
Zitat von ibp:
3... jetzt sollte ein neus formular aufgebaut werden dazu die alten kompos löschen
Abgesehen davon:
Marabus Lösung zerstört das Control ja nicht.

Ist das neue Formular jetzt ein wirklich neues, oder soll das Formular, in dem gerade etwas eingegeben wurde neu initialisiert werden?
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
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#8

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 18:15
@MeerKaninchen (war nur spass)

Zitat:
Marabus Lösung zerstört das Control ja nicht.
ist klar aber er dachte sicherlich, dass ich es beim editieren zerstören will, dem ist ja nicht so!

ja es ist ein neues formular.

es ist so, wenn der user in das edit etwas eingibt dann wird beim knotenwechsel der datensatz der db upgedatet. das läuft auch alles. nun passiert beim neu erstellen des eingabe-formulars (neue db-tabelle) wenn das editfeld noch im "editmode" ist der fehler, genau dann wenn die "alten komponenten" gelöscht werden. daher wollte ich eigentlich soetwas wie das gegenteil von setfocus! um beim durchgehen der kompos vorher den möglichen eingabefocus zu beenden und dann die kompo zu löschen!

hoffe habe mich jetzt klarer ausgedrückt!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 18:55
Zitat von ibp:
ist klar aber er dachte sicherlich, dass ich es beim editieren zerstören will
Hat er nicht!

Ganz ehrlich, mit all deinen bisherigen Informationen kann ich mir immer noch kein Bild machen, was dein Problem ist. In deinem ersten Beitrag hast du von einem TEdit geschrieben, aber jetzt sickert langsam was durch, das mehr auf datensensitive controls schließen lässt. Bei einem TEdit nimmst du den Fokus so weg, wie ich es dir geschrieben habe, aber ich glaube du meinst etwas ganz anderes - kannst es nur nicht beschreiben - oder mein deutsch ist so schlecht, dass ich dich nicht verstehe.

Freundliche Grüße

marabu
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#10

Re: Gegenteil von SetFocus oder wie aktives Edit freigeben

  Alt 8. Jan 2006, 19:59
@marabu

- ich kann aber nicht davon ausgehen, dass enter eingegeben wird!

- stell dir vor du gibst ins edit nur 123 ein ohne es zu quittieren oder tab zu drücken, dann selektierst du einen anderen baumknoten, durch den anderen baumknoten wird ein neues formular erstellt, nachdem die anderen edits gelöscht werden! dann kracht es eben, weil das edit in dem du 123 eingegeben hast immer noch den editierfocus besitzt!
  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 12:52 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