Entwickler-Ecke
Sonstiges (Delphi) - Auf Bilder statt Buttons klicken
leviathan - Mi 08.01.03 01:22
Titel: Auf Bilder statt Buttons klicken
Hallo zusammen,
vorweg: ich programmiere seit rund 4 Stunden Delphi und bin daher blutiger Anfänger (habe allerdings einige Jahre Turbo Pascal 5.5-Erfahrung). Ich bitte also um Nachsicht :? .
Beim Rumprobieren mit Buttons, Menus und Bitmaps bin ich auf eine Idee gekommen, von der ich leider noch nicht weiss, wie ich sie realisieren kann: Ich habe ein Foto meines Arbeitszimmers als Hintergrundbild für mein Formular ausgewählt. Ich möchte nun auf Teile des Bildes (und nicht auf klobige Standard-Buttons!) klicken und damit Aktionen auslösen. Wie schaffe ich das?
Meine Idee war, Buttons über Teile des Bildes zu ziehen (z.B. über CD-Player --> Abspielen eines Waves o.ähnl.) und diese einfach unsichtbar zu machen. Wenn ich die button-eigenschaft "visible" allerdings auf "false" stelle, ist der button nicht nur unsichtbar, sondern weg und funktionsunfähig.
Wer hat eine Idee? Vielen Dank und besten Gruß,
der Leviathan
Anonymous - Mi 08.01.03 01:42
Titel: Re: Auf Bilder statt Buttons klicken
Verschiedene Möglichkeiten hast Du z.B.:
1) Label, AutoSize := false, Transparent := True, kein Text und in OnClick etwas ausführen.
2) Auf ImageClick reagieren und die Mauskoordinaten auswerten.
3) ...
In allen Fällen wäre es sinnvoll, das Programm unter anderen Auflösungen und Schriftarten (Windows-Einstellungen) zu testen.
Gruß Tom
Anonymous - Mi 08.01.03 01:53
Das mit den Buttons wird nicht funktionieren. Was not Visible ist, das kann auch nicht angeklickt werden. Das beste wäre mit Regionen zu arbeiten. Da könntest du auch nicht rechteckigen Bereichen arbeiten. Das ist aber nichts was Delphi mitliefert, sondern Windows API.
Das beste und einfachste für einen Delphianfänger wäre ein transparentes TImage. Dazu nimst du ein kleines einfarbiges Bild und schaltest das Image transparent und stretch. Dann ziehst du das Image so wie du es brauchst.
leviathan - Mi 08.01.03 18:23
Hallo!
Vielen Dank für die Lösungsvorschläge, die ich erfolgreich umgesetzt habe. Mit meinem Bild habe ich aber gleich ein neues Problem: Es "überdeckt" eines meiner Labels. Kann man für images, labels etc. (ähnlich wie in einem Grafikprogramm) verschiedene Layer definieren? Oder zumindest einen Schalter wie "immer im Vordergrund"?
Besten Gruß,
Levi
Ex0rzist - Mi 08.01.03 23:08
Du kannst einen Rechtsklick auf das Element machen, was verdeckt wird und auf "Nach vorn setzen" (o.ä.) klicken. Genausogut kannst du die anderen auch nach hinten setzen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!