Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Balloonhint / StayOnTop (https://www.delphipraxis.net/162375-balloonhint-stayontop.html)

DSCHUCH 19. Aug 2011 15:37


Balloonhint / StayOnTop
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

1)gibt es eine möglichkeit im Balloonhint einen Closebutton einzublenden, wie es bei den Hints in der Windows Taskbar zu sehen ist?
Hintergrund: manche unserer Hints sind recht groß, daher möchte ich dem Nutzer die Möglichkeit geben das schnell wegzuklicken.

-> Bild 1

2)hervorragend wieder wie das mit dem stayontop in delphi klappt, auch im xe. wie löst ihr solche probleme? die bastelei jedesmal die fenster anzuordnen macht einen wahnsinnig. mir ist schon klar das ich im application-activate wie immer alles per hand machen kann, aber gibt es hier auch eine ordentliche automatisierte lösung?

-> Bild 2

ps:

Delphi-Quellcode:
procedure THauptForm.ApplicationEvents1Deactivate(Sender: TObject);
begin
 Application.HideHint;
 Application.NormalizeAllTopMosts;
end;

Daniela.S 19. Aug 2011 17:54

AW: Balloonhint / StayOnTop
 
BaloonHint ist, wie auch das normale Hint, nur ein ganz normales Fenster.
Du könntest eine Ableitung davon machen und deinen Close-Button so einbauen.

Ich habe die Klasse auch abgeändert, weil ich eine andere Formatierung des Textes brauchte. Habe das über eine eigene Komponente gelöst. Wie im Beispiel noch OnMouseXXX einbinden und die neue Komponente unter CustomHint dem jeweiligen Objekt zuweisen...

Delphi-Quellcode:
  TmyHintWindow = class(TCustomHint)
  private
    { Private-Deklarationen }
   protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property Title;
    property Description;
  end;

Uwe Raabe 19. Aug 2011 17:59

AW: Balloonhint / StayOnTop
 
Zitat:

Zitat von Daniela.S (Beitrag 1118125)
BaloonHint ist, wie auch das normale Hint, nur ein ganz normales Fenster.
Du könntest eine Ableitung davon machen und deinen Close-Button so einbauen.

Ich habe die Klasse auch abgeändert, weil ich eine andere Formatierung des Textes brauchte. Habe das über eine eigene Komponente gelöst. Wie im Beispiel noch OnMouseXXX einbinden und die neue Komponente unter CustomHint dem jeweiligen Objekt zuweisen...

Leider ist das nicht ganz so einfach, da
Delphi-Quellcode:
TCustomHint = class(TComponent)
eben kein normales Fenster ist. Dieses wird erst intern im ShowHint erzeugt und ist vom Typ
Delphi-Quellcode:
TCustomHintWindow
. Dummerweise ist das ShowHint auch nicht virtuell, noch gibt es eine andere Möglichkeit die Fensterklasse zu beeinflussen oder an das tatsächliche Fenster heranzukommen.

Daniela.S 19. Aug 2011 18:22

AW: Balloonhint / StayOnTop
 
aja, da war doch was... bitte entschuldige.

Zur Not ließe sich aber immer noch eine komplett eigene Klasse erstellen. Quasi ein eigenes kleines Fenster, das für eine gewisse zeitlang OnTop angezeigt wird wenn die Maus über das gewünschte Objekt fährt. Schon ewig her dass ich das mal wo gemacht habe...

DSCHUCH 23. Aug 2011 14:59

AW: Balloonhint / StayOnTop
 
also scheint es nicht so recht eine lösung hierfür zu geben... grrr.

DeddyH 23. Aug 2011 15:17

AW: Balloonhint / StayOnTop
 
Hilft Dir das hier weiter? Ich habe mir allerdings nur die kompilierte Demo angesehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:52 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