Autor |
Beitrag |
Massiv
      
Beiträge: 93
|
Verfasst: Do 02.04.09 16:33
hallo
ich v ersuche ja grad einen Mp3 player zu programmieren.
ich habe so ein play icon bild, dass ich als play button nutzen möchte.
Jedoch nicht mit dem komponent button(weil das mit transparent blöd aussieht) sondern mit image.
Aber wenn man auf den image klickt sieht das so aus als ob nix passeirt.
kann man mit image nicht son klick effekt machne wie beim button?
|
|
Highspeeder
      
Beiträge: 34
Win 7
Delphi 7 Profesional,Visual Basic
|
Verfasst: Do 02.04.09 16:36
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 02.04.09 16:41
Du könntest die Komponente TBitBtn probieren, das ist ein Button, auf den du ein Bild packen kannst. Wenn du das richtig angehst, bekommt man das auch so hin, dass man von dem "Windows-Teil" des Buttons (fast) nichts mehr sieht.
_________________ We are, we were and will not be.
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 02.04.09 16:42
Du kannst beide Bilder in zwei TBitmaps laden und bei OnMouseDown / OnMouseUp diese entsprechend dem Image zuweisen.
|
|
Boldar
      
Beiträge: 1555
Erhaltene Danke: 70
Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
|
Verfasst: Do 02.04.09 17:13
Hi,
Ich habe mal soetwas ähnliches gemacht, und zwar wie jaenicke es schon sagte, mit TImage. Ich hatte allerdings der einfachheit halber eine TImagelist mit 3 images (noch eins für mouseover).
Ich werde mal schauen, ob ich den quelltext noch finde.
mfg Boldar
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Do 02.04.09 19:10
Jop, das leichteste dürfte sein, du nimmst dir für jedes Icon 4 mögliche Zustände:
- den ganz normalen Zustand
- wenn das Image im Fokus steht (Highlight) also etwas heller und hervorgehobener als das Normale
- den "gedrückten Zustand", indem du das Icon quasi "nach hinten" schattierst (sodass der 3D-Effekt zum Vorschein kommt)
- den deaktivierten Zustand, einfach ausgegraut
Sowas selbst zu basteln ist realtiv viel Arbeit, es gibt aber sehr viel vorgefertige Icons (mit allen Zuständen) im Internet, Google wird dir da weiterhelfen.
Die Icons änderst du dann im OnMouseDown / OnMouseUp / OnMouseMove / OnMouseLeave !
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 02.04.09 19:37
Webo hat folgendes geschrieben : | Die Icons änderst du dann im OnMouseDown / OnMouseUp / OnMouseMove / OnMouseLeave ! |
Brauchst du gar nicht, wenn du TBitButton verwendest! IMHO müssen die nur in der Richtigen Reihenfolge nebeneinander in der Bitmap stehen, und dann muss noch NumGlyphs gesetzt werden. Den Rest erledigt der BitBtn 
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Do 02.04.09 19:40
Oder, wenn du den Tastatur-Fokus nicht brauchst: TSpeedButton. Da kann man noch mehr mit machen was das Styling angeht.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Massiv 
      
Beiträge: 93
|
Verfasst: Fr 03.04.09 22:09
Ehrlich gesagt versteh ich nicht wie das klappen soll mit mehreren bildern!
wäre jm so nett und würd mal son beispiel zeigen?
wäre echt lieb bitte
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Fr 03.04.09 22:41
Zuerst musst du dir vier Bildchen machen:
Webo hat folgendes geschrieben : |
- den ganz normalen Zustand
- wenn das Image im Fokus steht (Highlight) also etwas heller und hervorgehobener als das Normale
- den "gedrückten Zustand", indem du das Icon quasi "nach hinten" schattierst (sodass der 3D-Effekt zum Vorschein kommt)
- den deaktivierten Zustand, einfach ausgegraut
|
Die müssen natürlich alle gleich groß sein. Dann erstellst du dir ein Bild, das viermal so breit, aber gleich hoch wie ein einzelnes Bild ist. In diesem ordnest du nun deine vier Bilder in der gegebenen Reihenfolge an. Anschließend lädst du den Glyph (siehe den gleichnahmigen Parameter im TBitButton)
Yogu hat folgendes geschrieben : | und dann muss noch NumGlyphs gesetzt werden. Den Rest erledigt der BitBtn  |
Ich hoffe, das war jetzt verständlich erklärt 
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Sa 04.04.09 09:31
So eine "Bilderkette" würde dann wie im Anhang aussehen !
In diesem Beispiel ist ein Scrollbutton in 3 verschiedenen Phasen aufgeführt.
Einloggen, um Attachments anzusehen!
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
Massiv 
      
Beiträge: 93
|
Verfasst: Sa 04.04.09 18:14
Ich hab son delphi 6 grundwissen buch aber da steht nicht wie man das macht mit mehrere bilder mit glyph laden und wann welche angezeigt werden soll!
ich versteh nämlich nicht, wie man das macht, dass die bilder nach Wunsch des benutzer in der reihenfolge erscheinen! Versteht ihr?
ich könnt das natürlich mit loadfromfile() machen bei jedem ereigniss(zum beispiel bei mousup oder so)
ich möchte nämlihc nicht das das programm mit dem code loadfromfile() ein bild anzeigt denn das würde probleme bringen wenn ich das programm auf nem anderen rechner habe!
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 04.04.09 18:23
Wenn du die Bilder im selben Verzeichnis mitlieferst, dann kannst du dieses auch benutzen.
Besser geeignet wären Ressourcen, um die Bilder direkt in die Exe einzukompilieren.
Und dann könntest du auch noch eine TImageList verwenden, womit die Bilder auch in der Exe lägen.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Sa 04.04.09 18:25
Du kannst das Bild (ist bei einem BitBtn nämlich nur eines) auch in das Formular laden, indem du im Objektinspektor unter Glyph auf die drei Punkte klickst.
Sonst wüsste ich nicht, was nach den diversen Anleitungen noch unklar sein könnte.
|
|
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Sa 04.04.09 20:02
Lad Dir mal das www.delphi-forum.de/...gen+Icons_80203.html runter und schau Dir an, wie ich das mit TBtnButton gelöst habe.
_________________ Salus populi suprema lex esto
|
|
Massiv 
      
Beiträge: 93
|
Verfasst: So 05.04.09 15:45
Delphi10, ich hab mir da programm geladen und jetzt?
was soll ich damit?
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: So 05.04.09 19:39
|
|
Massiv 
      
Beiträge: 93
|
Verfasst: Mo 06.04.09 14:57
Das ist aber ein Programm und ich kanns nicht mit delphi öffnnen!
|
|
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Mo 06.04.09 15:51
Du kannst das nicht mit Delphi in dem Sinne öffnen, aber als Programm starten und dir das Prinzip BtnButton anschauen (die Aktionschalter am unteren FormRand, jeweils mit vier Bildern).
Maus drüberfahren,
MausTaste drücken,
Maustaste loslassen und
Button gesperrt ist jeweils ein Bild, das mit den anderen drei zusammen von einem "großen" Bild zusammengefasst wird.
_________________ Salus populi suprema lex esto
|
|
Massiv 
      
Beiträge: 93
|
Verfasst: Mo 06.04.09 15:55
Also ich weiss nur noch nicht, wie ich die bilder bearbeiten sollte damit sie so aussehen das sie geklickt wurden!
kannst mir vllt sagen mit welchem bild_programm du dass machst und was für effekte due anwendest?
|
|