Registriert seit: 21. Jul 2004
Ort: bei mir zu Hause
107 Beiträge
|
Re: Suche Idee, Button soll Options Fenster anzeigen/verberg
13. Jul 2009, 15: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
|