AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Suche Idee, Button soll Options Fenster anzeigen/verbergen
Thema durchsuchen
Ansicht
Themen-Optionen

Suche Idee, Button soll Options Fenster anzeigen/verbergen

Ein Thema von Roaster · begonnen am 13. Jul 2009 · letzter Beitrag vom 13. Jul 2009
Antwort Antwort
Seite 2 von 2     12   
Stormy

Registriert seit: 8. Okt 2005
Ort: LPZ
73 Beiträge
 
Delphi 6 Enterprise
 
#11

Re: Suche Idee, Button soll Options Fenster anzeigen/verberg

  Alt 13. Jul 2009, 14:29
Wenn du folgendes versuchst

Delphi-Quellcode:
//nach dem öffnen des Fensters
Button.Tag := 1;
//dann im OnExpanded
if Button.Tag = 0 then
//dein code zum öffnen
else Button.Tag := 0;
Ansonsten Poste mal den Code von den beiden Events dann versteht man besser was du meinst.


Gruß
Stormy
  Mit Zitat antworten Zitat
fajac

Registriert seit: 1. Jul 2009
60 Beiträge
 
#12

Re: Suche Idee, Button soll Options Fenster anzeigen/verberg

  Alt 13. Jul 2009, 14:30
Hallo,
du könntest, für den Fall dass das Fenster von der Button.Expanded Methode ausgeblendet wird, vorher den Event auf nil setzen, und wenn du das Fenster erneut öffnest, dann wieder auf deine Ereignismethode.
  Mit Zitat antworten Zitat
Roaster

Registriert seit: 21. Jul 2004
Ort: bei mir zu Hause
107 Beiträge
 
#13

Re: Suche Idee, Button soll Options Fenster anzeigen/verberg

  Alt 13. Jul 2009, 14:40
Zitat von hoika:
dann packe dein Options-"Form" auf ein Panel unterhalb des Expanded-Buttons,
das Panel ist am Anfang unsichtbar.
Per Button-Klick wird es sichtbar.
Das hatte ich zuvor schon, nur wie geschrieben ist es jetzt ein wenig zu unübersichtlich geworden um alle Radiobuttons und Checkboxen dort unterzubringen. Ausserdem würde dann aufgrund der Größe des Panels der Rest des Parentfensters aus dem sichtbaren Bereich rausgeschoben werden.

Zitat von hoika:
Ich finde diese Anforderung eh doof
Ich klicke aus Versehen daneben und das "Form" ist weg, ne!.
Es sollte ja auch nicht so der klassische Optionsdialog für die Anwendungseinstellungen sein, sondern eher um auf die Schnelle mal die Suchoptionen zu modifizieren.

Zitat von hoika:
Mal was anderes. Was benutzt als Komponente für den "Objekt-Inspektor" ?
TNextInspector von Bergsoft: Bergsoft - NextInspector
cu, Michael

Windows 7, WinXP Pro, Vista, WinXP Home, Win98 SE
D4 C/S, D7 Enterprise, Turbo Delphi Pro, Delphi 2009
  Mit Zitat antworten Zitat
Roaster

Registriert seit: 21. Jul 2004
Ort: bei mir zu Hause
107 Beiträge
 
#14

Re: Suche Idee, Button soll Options Fenster anzeigen/verberg

  Alt 13. Jul 2009, 14:44
Zitat von Stormy:
Ansonsten Poste mal den Code von den beiden Events dann versteht man besser was du meinst.
Hier bitteschön, zuerst der Code, der das Erzeugen des Optionsfensters auslöst:

Delphi-Quellcode:
procedure TForm2.OnOptionClose(Sender : TObject);
begin
  MyQuickButton1.Expanded := False;
end;

procedure TForm2.MyQuickButton1Expanded(Sender: TObject; Expanded: Boolean);
var
  oPnt: TPoint;
begin
  oPnt := MyQuickButton1.ClientToScreen(Point(0, MyQuickButton1.Height));
  FOptions := TfrmOptions.Create(Nil);
  FOptions.Top := oPnt.Y;
  FOptions.Left := oPnt.X;
  FOptions.FreeOnRelease;
  FOptions.OnCallback := OnOptionClose;
  FOptions.Show;
end;
Und zum anderen die relevanten Zeilen aus meiner Button-Komponente:
Delphi-Quellcode:
procedure TMyQuickButton.SetExpanded(const Value : Boolean);
begin
  if FExpanded <> Value then
  begin
    SetExpandedImg(not FExpanded);
    FExpanded := Value;
    CallEvents;
    Invalidate;
  end;
end;
...
procedure TMyQuickButton.CallEvents;
begin
  // Call expanded event
  if FExpanded and Assigned(FOnExpanded) then
    FOnExpanded(Self, FExpanded);
  // Call collapsed event
  if not FExpanded and Assigned(FOnCollapsed) then
    FOnCollapsed(Self, FExpanded);
end;

procedure TMyQuickButton.Click;
var
  Form: TCustomForm;
begin
  SetExpandedImg(not FExpanded);
  FExpanded := not FExpanded;

  CallEvents;

  Form := GetParentForm(Self);
  if Form <> nil then
    Form.ModalResult := ModalResult;
  inherited;
end;
cu, Michael

Windows 7, WinXP Pro, Vista, WinXP Home, Win98 SE
D4 C/S, D7 Enterprise, Turbo Delphi Pro, Delphi 2009
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Suche Idee, Button soll Options Fenster anzeigen/verberg

  Alt 13. Jul 2009, 14:44
Du könntest den Button mit einer Delphi-Referenz durchsuchenAction versehen. In OnUpdate wird "Expanded" je nach "Visible" Eigenschaft des Optionsfenster gesetzt und beim OnExecute schließt Du das Fenster bzw. negierst die "Visible" Eigenschaft...
Edit: Für FOptions würde sich dann ja ggf. ein "Singleton" anbieten...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Roaster

Registriert seit: 21. Jul 2004
Ort: bei mir zu Hause
107 Beiträge
 
#16

Re: Suche Idee, Button soll Options Fenster anzeigen/verberg

  Alt 13. Jul 2009, 15:04
Zitat von mirage228:
Du könntest den Button mit einer Delphi-Referenz durchsuchenAction versehen. In OnUpdate wird "Expanded" je nach "Visible" Eigenschaft des Optionsfenster gesetzt und beim OnExecute schließt Du das Fenster bzw. negierst die "Visible" Eigenschaft...
OK, das Action property habe ich nochmals schnell im Button implementiert. Nur so ganz erschließt sich mir noch nicht der Sinn:
In Action.OnUpdate wird Button.Expanded je nach Optionfenster.Visible gesetzt? So weit so klar,
Warum bei Action.OnExecute das Fenster schließen? Wann erstelle ich denn dann deiner Meinung nach das Optionsfenster?

Zitat von mirage228:
Edit: Für FOptions würde sich dann ja ggf. ein "Singleton" anbieten...
So, jetzt hast du mich komplett verwirrt: Singleton was issn das für'n Ding?
cu, Michael

Windows 7, WinXP Pro, Vista, WinXP Home, Win98 SE
D4 C/S, D7 Enterprise, Turbo Delphi Pro, Delphi 2009
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#17

Re: Suche Idee, Button soll Options Fenster anzeigen/verberg

  Alt 13. Jul 2009, 16:27
Ja mit Schließen meinte ich "Anzeigen bzw. Verbergen" (Visible := not Visible).
Singelton ist, wenn Du nur ein Optionsmenü instanzieren kannst, pro Klasse.

Singleton war auch nur ein Vorschlag. Du kannst das Formular auch in einer Variable (private/protected Abschnitt des Aufrufenden Forms) zwischenspeichern. Wenn die Variable zu Anfang = nil ist, erstellst Du das Form, ansonsten musst ja nur "Visible" ändern...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:19 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