AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi viele Panels mit OnClick, bei click nur eins "gedrückt" ?
Thema durchsuchen
Ansicht
Themen-Optionen

viele Panels mit OnClick, bei click nur eins "gedrückt" ?

Ein Thema von hronny · begonnen am 27. Nov 2008 · letzter Beitrag vom 27. Nov 2008
Antwort Antwort
hronny

Registriert seit: 4. Mai 2006
Ort: Thüringen
97 Beiträge
 
Delphi 2007 Professional
 
#1

viele Panels mit OnClick, bei click nur eins "gedrückt&

  Alt 27. Nov 2008, 22:26
Hi!

Ich habe eine eigene Komponente gebastelt in der ich Panels erzeuge die ein Mouseover haben. Nun sollen die so eine Art "Umschalter" wie eine Checkbox sein, wenn gedrückt dann sieht das Panel optisch anders aus. Jetzt möchte ich aber das immer wenn ich ein anderes anklicke, das vorhergehende deselectiert wird, wie es bei einer RadioGroup funktioniert. Nur wie stell ich das an? Den Status setz ich ja in der Komponente, aber dieses "abwählen" muss sicher die Hauptform machen oder?
grep -ri shit /usr/src/linux/*
  Mit Zitat antworten Zitat
silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#2

Re: viele Panels mit OnClick, bei click nur eins "gedrü

  Alt 27. Nov 2008, 22:41
Zitat von hronny:
Ich habe eine eigene Komponente gebastelt in der ich Panels erzeuge die ein Mouseover haben. Nun sollen die so eine Art "Umschalter" wie eine Checkbox sein, wenn gedrückt dann sieht das Panel optisch anders aus. Jetzt möchte ich aber das immer wenn ich ein anderes anklicke, das vorhergehende deselectiert wird, wie es bei einer RadioGroup funktioniert. Nur wie stell ich das an? Den Status setz ich ja in der Komponente, aber dieses "abwählen" muss sicher die Hauptform machen oder?
Nur so ein schnelles Gedankenexperiment:

Gehe in Deiner Click-Methode alle Komponenten des Parents Deines Panels durch.
Wenn Diese Komponente den richtigen Typ hat, deselektiere sie.

Die RadioGroup / der RadioButton macht imgrunde auch nichts anderes.

HTH
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#3

Re: viele Panels mit OnClick, bei click nur eins "gedrü

  Alt 27. Nov 2008, 22:56
Oder alle Panels in einer Liste verwalten und das jeweils aktive merken. Wird ein anderes geklickt, wird das gemerkte deaktiviert, das geklickte aktiviert und gemerkt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hronny

Registriert seit: 4. Mai 2006
Ort: Thüringen
97 Beiträge
 
Delphi 2007 Professional
 
#4

Re: viele Panels mit OnClick, bei click nur eins "gedrü

  Alt 27. Nov 2008, 23:00
Die Ideen find ich nicht schlecht, dazu müsste ich aber dem Parent erstmal irgendwie mitteilen das ich ein Panel gedrückt habe. Bisher funktionieren sie nur unabhängig voneinander.
grep -ri shit /usr/src/linux/*
  Mit Zitat antworten Zitat
silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#5

Re: viele Panels mit OnClick, bei click nur eins "gedrü

  Alt 27. Nov 2008, 23:09
Zitat von hronny:
Die Ideen find ich nicht schlecht, dazu müsste ich aber dem Parent erstmal irgendwie mitteilen das ich ein Panel gedrückt habe. Bisher funktionieren sie nur unabhängig voneinander.
Das folgende ist nur schnell getippt, kann (und wird also vermutlich auch) Fehler enthalten:

Der Code kommt in die Methode Deines Panels, in der Du "umschaltest"
Delphi-Quellcode:
...
if Parent <> nil then
begin
  for i := 0 to Parent.ComponentCount - 1 do
  begin
    if (Parent.Components[i] is = DeinPanelType) and (Parent.Components[i] <> self) then
      (Parent.Components[i] as DeinPanelType).Deactivate;
  end;
end;
...
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:00 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