AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi mit den Cursortasten zum nächstliegen Control springen
Thema durchsuchen
Ansicht
Themen-Optionen

mit den Cursortasten zum nächstliegen Control springen

Ein Thema von Optiplex · begonnen am 11. Mai 2009 · letzter Beitrag vom 2. Jun 2009
 
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: mit den Cursortasten zum nächstliegen Control springen

  Alt 12. Mai 2009, 11:55
Dafür ist es ja eine Community

Also so kannst du deine Komponenten iterieren und deren Position zur Form bestimmen
Delphi-Quellcode:
var
  i: Integer;
begin
  for i := 0 to Self.ComponentCount - 1 do
    if Self.Components[i].ClassType = TEdit then
      ShowMessage(IntToStr(TEdit(Self.Components[i]).Left));
end;
Hab das jetzt mal beispielsweise für ein Edit gemacht. Musst du natürlich auf deine Komponenten überarbeiten. Wenn du das OO machen willst, musst du über eine Liste verfügen, die über alle instanzierten Objekte bescheid weiß. Da wäre es vielleicht sogar besser wenn du über diese Klasse dann sogar die gesamte Erstellung der Komponenten auf der Form regelst und ihr die Darstellungs- und Verwaltungsintelligenz überträgst.

Edit:
Zitat:
wenn nötig könnte man auch PosX/PosY (aber das hat man eigendlich schon mit Left/Top) als Eigenschaft in die Kombo mit einfließen lassen
Das ist in der Komponente doch schon enthalten.

Edit2:
Mal nur reinweg zum probieren geht das auch so
Delphi-Quellcode:
var
  i: Integer;
  o : TObject;
begin
  o := nil;

  for i := 0 to Self.ComponentCount - 1 do
    if Self.Components[i].ClassType = TEdit then
    begin
      if TEdit(Self.Components[i]).Left > TButton(Sender).Left then
        if o = nil then
          o := Self.Components[i]
        else
        if TEdit(Self.Components[i]).Left < TEdit(o).Left then
          o := Self.Components[i];
    end;
    ShowMessage(TEdit(o).Text);
end;
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
 


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 19:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz