AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Schliessen-Button wie bei BalloonTips von XP selbst gemacht

Schliessen-Button wie bei BalloonTips von XP selbst gemacht

Ein Thema von Helmi · begonnen am 24. Nov 2005 · letzter Beitrag vom 23. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#1

Schliessen-Button wie bei BalloonTips von XP selbst gemacht

  Alt 24. Nov 2005, 20:14
Hallo,

ich würde gerne so einen Schliessen-Button, wie er bei den BalloonTips bei XP zu sehen ist, selbst gemacht.
(siehe Pic).

Weiss jemand, wie man diesen Button nachbauen kann, wenn möglich ohne eigener Kompo.

Ich hab schon mal einen SpeedButton für so was benutzt. Er schaut ähnlich aus, wenn man Flat auf true setzt und Caption = X, aber es fehlt halt das schwarze Rechteck um den Button rum.

Weiss jemand wie man das machen könnte, bzw. gibt es denn die möglichkeit einen "System"-Button, z. B. durch auslesen einer DLL, zu bekommen (dies sollte aber Windows-Version-unabhänigig sein)?
Miniaturansicht angehängter Grafiken
close_238.jpg  
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 25. Nov 2005, 08:47
nimm doch ein image dafür.
im OnClick schliesst du den BallonTip dann.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 25. Nov 2005, 09:46
Zitat von Helmi:
Weiss jemand wie man das machen könnte, bzw. gibt es denn die möglichkeit einen "System"-Button, z. B. durch auslesen einer DLL, zu bekommen (dies sollte aber Windows-Version-unabhänigig sein)?
Es gibt die Funktion MSDN-Library durchsuchenDrawFrameControl, die das zeichnet. Normalerweise sollte das mit dem Typ DFC_CAPTION und dem Stil als eine Kombination von DFCS_CAPTIONCLOSE und einem oder mehreren der Flags DFCS_FLAT, DFCS_HOT, DFCS_INACTIVE, DFCS_PUSHED, DFCS_TRANSPARENT gehen.
Nimm am besten eine Paintbox dafür, lass dir die Größe aber auch von dieser Funktion mit dem Flag DFCS_ADJUSTRECT ausrechnen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 25. Nov 2005, 21:09
Zitat von Flocke:
Zitat von Helmi:
Weiss jemand wie man das machen könnte, bzw. gibt es denn die möglichkeit einen "System"-Button, z. B. durch auslesen einer DLL, zu bekommen (dies sollte aber Windows-Version-unabhänigig sein)?
Es gibt die Funktion MSDN-Library durchsuchenDrawFrameControl, die das zeichnet. Normalerweise sollte das mit dem Typ DFC_CAPTION und dem Stil als eine Kombination von DFCS_CAPTIONCLOSE und einem oder mehreren der Flags DFCS_FLAT, DFCS_HOT, DFCS_INACTIVE, DFCS_PUSHED, DFCS_TRANSPARENT gehen.
Nimm am besten eine Paintbox dafür, lass dir die Größe aber auch von dieser Funktion mit dem Flag DFCS_ADJUSTRECT ausrechnen.
Hallo,

Danke für den Tip mit dem DrawFrameControl
funktioniert echt gut.

Trotzdem hätt ich noch ein paar kleine Fragen:
  • Wie kann ich es schaffen, dass der Button, wie er bei dem BalloonTips von WinXP, beim Überstreichen durch die Maus, die Farbe verändert?
  • Ich würde auch gerne die Grundfarbe verändern - das Graue schaut ja unmöglich aus
  • Wie kann man mit dieser Function und dem Flag "DFCS_ADJUSTRECT" die Größe ermitteln?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 26. Nov 2005, 20:47
Hat jemand ne Ahnung wie man ich das transparent hinbekommen kann?
DFCS_Transparent hat bei mir keine Auswirkung

ich hab anbei mal ein Beispiel-Projekt angehängt

[edit]Neue Version - in der alten war ein Fehler[/edit]
Angehängte Dateien
Dateityp: zip test_drawframecontrol_188.zip (212,9 KB, 30x aufgerufen)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 22. Dez 2005, 22:01
*push*

weiss jemand über meine fragen von oben weiter?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 18. Jan 2006, 20:27
*push*

Weiss jemand vielleicht, wie ich es machen kann, dass der Button, den ich mit DrawFrameControl erzeuge, beim Überfahren mit der Maus die Farbe verändert?
(Wie bei einem BalloonTip von WindoofsXP)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 23. Sep 2006, 21:23
Nach fast einem dreivierteltem Jahr erlaub ich mir nochmal nachzufragen
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 23. Sep 2006, 21:36
Im Normalfall erledigt es dier HotTrack, somit DFCS_HOT. Näheres dazu findest du in der MSDN, schonmal dort geschaut?
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.325 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Schliessen-Button wie bei BalloonTips von XP selbst gema

  Alt 23. Sep 2006, 21:51
Hallo

mit diesem Code erzeug ich den Button in der PaintBox:

Delphi-Quellcode:
  with PaintBox1 do
    begin
      DrawFrameControl(Canvas.Handle, ClientRect, DFC_CAPTION, DFCS_CAPTIONCLOSE + DFCS_FLAT + DFCS_HOT + DFCS_TRANSPARENT);
    end;
Nur wie muss ich das nun machen, dass der Button wechselt? - im Code oben ist ja das DFCS_HOT schon mit dabei.
Wenn ich es rauslasse, dann seh ich erst mal keinen Unterschied.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:11 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