Einzelnen Beitrag anzeigen

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