Autor Beitrag
leviathan
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 08.01.03 01:22 
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
Tom
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.01.03 01:42 
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
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: 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.

_________________
If accidentally read, induce vomitting.