AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

runde Schaltflächen

Offene Frage von "Marvel"
Ein Thema von Marvel · begonnen am 29. Jun 2005 · letzter Beitrag vom 30. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
Marvel

Registriert seit: 12. Nov 2004
Ort: Bad Düben
64 Beiträge
 
#1

runde Schaltflächen

  Alt 29. Jun 2005, 17:55
Hi Leute.
folgendes Problem:
1. Ich will in meinem Prog nich einfach Buttons machen, die sind zu langweilig. Statdessen will ich Images nehmen, die halt als Buttons dienen.
2. Ich will keine rechteckigen Images nehmen, die sind mir zu langweilig , sondern runde und abgerundete Images.

Nun kann man das natürlich einfach transparent werden lassen, aber dann wird das OnClick-Ereigniss trotzdem ausgelöst, wenn man auf transparente Stellen klickt. Das is sehr störend, so wie ich das machen will.
Jetzt hab ich schon ne Weile rumgesucht und mit den Regions experimentiert. Bei Buttons würde das auch ein A funktionieren, aber bei Images is nix... Versteh ich zwar nicht ganz, aber ihr habt da sicher ne Ahnung...

Also meine Frage: wie kann ich Images so beschneiden, dass das OnClick-Ereigniss (und andere) nur auf einer bestimmten Fläche ausgelöst werden?

Danke im Voraus. Ich hab wie immer großes Vertrauen in euch....
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: runde Schaltflächen

  Alt 29. Jun 2005, 18:00
Du könntest dir einen Image-Button ableiten, der das OnClick nur auslöst, wenn an dieser Stelle z.B. min. 50% Deckfähigkeit ist
  Mit Zitat antworten Zitat
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#3

Re: runde Schaltflächen

  Alt 29. Jun 2005, 18:10
Oder dich davon einfach nicht stören lassen und am Anfang der OnClick-Prozedur abfragen, an welcher Stelle das passiert ist. (Da wäre dann natürlich MouseDown, -Up praktischer).
Wenn die Position innerhalb des Kreises, runden Rechtecks, was auch immer liegt, dann wird das Ereignis ausgelöst und wenn nicht ... tja dann wohl eher nicht.
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#4

Re: runde Schaltflächen

  Alt 29. Jun 2005, 18:19
Oder du leitest von TButton - oder ne besser direkt von TWinControl ab. Den Button kannst du dann rund(oder wie auch immer) Zeichnen. Das hätte dann auch den Vorteil, dass man auch sieht, dass der Button gerade gedrückt wird(sofern du das natürlich so proggst). Du musst den Button dann nur Pseudo-3D Zeichnen. Is nicht so schwer, wie sich das jetzt vielleicht anhört. Sollte also machbar sein...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Marvel

Registriert seit: 12. Nov 2004
Ort: Bad Düben
64 Beiträge
 
#5

Re: runde Schaltflächen

  Alt 29. Jun 2005, 18:47
Also erstma danke...
zu jfheins: was meinst du mit 50% Deckfähigkeit?

zu Jarmen_Kell: und wie kann ich das halbwegs praktisch prüfen? Muss ich ja ne Fläche festlegen, in der das Ereigniss ausgelöst wird. Was nehme ich da? wie prüfe ich, ob der Punkt drin is?

zu r2c2: mit Komponentenentwicklung kenn ich mich jetzt nich so aus... also das heißt.. ich hab keine Ahnung, wie ich das machen müsste.
  Mit Zitat antworten Zitat
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#6

Re: runde Schaltflächen

  Alt 29. Jun 2005, 19:04
Kommt auf die Form an.
Wenn es z.B. ein Kreis ist, ist es noch relativ simpel.
Den Mittelpunk hast du ja wohl (Zur Not Bei MouseD, - U: Object.Widht/2 und Object.Height/2)
Dann rechnest du den Abstand zwischen Klick-Punkt und Mittelpunkt aus und guckst, ob das im Kreisradius liegt.
Je komplizierter die Form ist, desto schwerer ist es natürlich, aber mit der guten Mathematik ist doch alles möglich
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: runde Schaltflächen

  Alt 29. Jun 2005, 19:27
Darf auch ein paar € kosten? Dann probier mal das ElPack mit aktivierter eigener Theming-Engine aus. Du kannst die von XP definierten Themes-DLL auch unter Win98-2003 verwenden unabhängig von aktivierten XP-Theme. Und dort gibt es auch gerundete Buttons.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Marvel

Registriert seit: 12. Nov 2004
Ort: Bad Düben
64 Beiträge
 
#8

Re: runde Schaltflächen

  Alt 29. Jun 2005, 19:40
kann man da nich irgendwie ne Fläche machen und dann irgendwie "if Point(X,Y) in Fläche" abfragen? Enttäuscht mich...

naja... nee, soll nix kosten.
  Mit Zitat antworten Zitat
Zettuu

Registriert seit: 29. Jun 2005
Ort: Köln
6 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: runde Schaltflächen

  Alt 29. Jun 2005, 20:08
Wenn Du mit ner Transparenzfarbe arbeitest, dann check doch einfach ab, ob der Click auf der Transparenzfarbe ausgeführt wurde.
  Mit Zitat antworten Zitat
Marvel

Registriert seit: 12. Nov 2004
Ort: Bad Düben
64 Beiträge
 
#10

Re: runde Schaltflächen

  Alt 29. Jun 2005, 20:49
Hey.... das is clever
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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