Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: VCL (C++ Builder) ::  Nicht anklickbare Form  
Gehen Sie zu Seite 1, 2  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
TheCaleb
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.06.2006
Beiträge: 270
Beitrag TheCaleb Mitglied 11:47:23 01.09.2010   Titel:   Nicht anklickbare Form            Zitieren

Hallo,

ich habe eine Form die ein Label beinhaltet, welches Text auf dem Bildschirm darstellt.
Jetzt möchte ich aber gerne, dass der Text zwar im Vordergrund ist aber ich das Label bzw die Form nicht anklicken kann, quasi das ich hindurch klicke.

Wie bekomme ich das hin??


Vielen Dank im voraus!

_________________
MfG
TheCaleb
Rostfrei[]
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.11.2005
Beiträge: 990
Beitrag Rostfrei[] Mitglied 16:54:44 01.09.2010   Titel:              Zitieren

Ich weiss nicht genau, ob ich das richtig verstanden habe, aber schau Dir mal TForm::Transparent und TForm::TransparentColor an.

_________________
www.Uhrmacher-Theodor-Prenzel.de
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 2401
Beitrag Zeus Mitglied 17:48:38 01.09.2010   Titel:              Zitieren

Einfach die Clickhandler des Forms auch vom der Komponente aufrufen lassen?

_________________
http://sourceforge.net/projects/nano-lang/
TheCaleb
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.06.2006
Beiträge: 270
Beitrag TheCaleb Mitglied 00:45:19 02.09.2010   Titel:              Zitieren

Vielen Dank für die Vorschläge, jedoch hat keiner das erreicht, was mein Ziel ist.

Nochmal nen Beispiel: Ich lasse einen großen Text auf dem Bildschirm anzeigen und möchte aber z.B. Dateien die im Explorer hinter dem Text dargestellt sind anklicken können, ohne dabei die unsichtbare Form oder das Label anzuklicken.

Man könnte auch es einfach so sagen: Die Form ist über den ganzen Bildschirm verteilt, unsichtbar aber wie kann ich hindurch klicken?! :)

_________________
MfG
TheCaleb
Rostfrei[]
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.11.2005
Beiträge: 990
Beitrag Rostfrei[] Mitglied 14:21:01 02.09.2010   Titel:              Zitieren

Rostfrei[] schrieb:
Ich weiss nicht genau, ob ich das richtig verstanden habe, aber schau Dir mal TForm::Transparent und TForm::TransparentColor an.


und was passt da jetzt nicht?!

_________________
www.Uhrmacher-Theodor-Prenzel.de
TheCaleb
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.06.2006
Beiträge: 270
Beitrag TheCaleb Mitglied 01:07:20 04.09.2010   Titel:              Zitieren

Kann es sein, dass es TForm::Transparent nicht gibt oder irre ich mich??

Also die Form und das Label sind unsichtbar, ausser der Text vom Label, aber wenn ich etwas anklicken möchte, was hinter der Form ist, klappt das nicht!

_________________
MfG
TheCaleb
Rostfrei[]
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.11.2005
Beiträge: 990
Beitrag Rostfrei[] Mitglied 10:52:10 04.09.2010   Titel:              Zitieren

Stimmt. TForm::Transparent gibt es nicht; mein Fehler. Aber wenn man mal in die Hilfe geschaut hätte, dann hätte man gesehen, das es TForm::TransparentColorValue gibt. Das könnte ja vielleicht auch passen?!

Konkret:
Du packst ein Label und ein Panel auf die Form. An beiden wird die Farbe nicht geändert. Die Color-Eigenschaft der Form setzt zu z.B. auf clMaroon.
Danach TForm::TransparentColorValue ebenfalls auf clMaroon setzen und die Eigenschaft TForm::TransparentColor auf true setzen.
Das wars schon.
Bei meinem BCB6 sind diese Eigenschaften alle vorhanden und das ganze läuft ab Windows 2000; aber das weisst Du ja, da Du das ja bereits in der BCB-Hilfe gelesen hast.

//Edit
Wenn man dan z.B. in dem Schriftzug 'Label1' in den Kreis des 'a' klickt, dann wird das dahinterliegende Fenster auch korrekt fokussiert.

_________________
www.Uhrmacher-Theodor-Prenzel.de


Zuletzt bearbeitet von Rostfrei[] am 10:55:14 04.09.2010, insgesamt 1-mal bearbeitet
TheCaleb
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.06.2006
Beiträge: 270
Beitrag TheCaleb Mitglied 11:03:19 04.09.2010   Titel:              Zitieren

Danke aber genau das alles habe ich doch schon bereits, sonst wäre das Ganze ja nicht unsichtbar!

Ich möchte jedoch auch hindurch klicken können!
Denn an den Stellen, wo die Form, bzw das Label unsichtbar auf dem Desktop sind, kann ich die Sachen, die sich hinter denen verbergen (Verknüpfungen, etc.) nicht anklicken, was ich jedoch gerne möchte!

Hier mal mein Code:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        textForm = new TForm(Form1);
        textLabel = new TLabel(textForm);
        textForm->InsertControl(textLabel);
        Form1->InsertComponent(textForm);

        textLabel->AutoSize = true;
        textLabel->Font->Name = "Arial";
        textLabel->Font->Color = clLime;
        textLabel->Color = (TColor)(clLime + 1);
        textLabel->Transparent = true;
        textLabel->Visible = true;

        textForm->FormStyle = fsStayOnTop;
        textForm->BorderStyle = bsNone;
        textForm->Color = (TColor)(clLime + 1);
        textForm->TransparentColorValue = (TColor)(clLime + 1);
        textForm->TransparentColor = true;
        textForm->Visible = true;
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
textForm = new TForm(Form1);
textLabel = new TLabel(textForm);
textForm->InsertControl(textLabel);
Form1->InsertComponent(textForm);

textLabel->AutoSize = true;
textLabel->Font->Name = "Arial";
textLabel->Font->Color = clLime;
textLabel->Color = (TColor)(clLime + 1);
textLabel->Transparent = true;
textLabel->Visible = true;

textForm->FormStyle = fsStayOnTop;
textForm->BorderStyle = bsNone;
textForm->Color = (TColor)(clLime + 1);
textForm->TransparentColorValue = (TColor)(clLime + 1);
textForm->TransparentColor = true;
textForm->Visible = true;
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        textForm = new TForm(Form1);
        textLabel = new TLabel(textForm);
        textForm->InsertControl(textLabel);
        Form1->InsertComponent(textForm);

        textLabel->AutoSize = true;
        textLabel->Font->Name = "Arial";
        textLabel->Font->Color = clLime;
        textLabel->Color = (TColor)(clLime + 1);
        textLabel->Transparent = true;
        textLabel->Visible = true;

        textForm->FormStyle = fsStayOnTop;
        textForm->BorderStyle = bsNone;
        textForm->Color = (TColor)(clLime + 1);
        textForm->TransparentColorValue = (TColor)(clLime + 1);
        textForm->TransparentColor = true;
        textForm->Visible = true;

_________________
MfG
TheCaleb
Rostfrei[]
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.11.2005
Beiträge: 990
Beitrag Rostfrei[] Mitglied 11:17:16 04.09.2010   Titel:              Zitieren

Wie bereits geschrieben, kann ich bei mir durch die Form hindurch klicken und Verknüpfungen etc. normal starten.
BCB Version 6 Enterprise, Windows XP Pro

//Edit
Versuch das ganze mal an einem statisch erstelltem (also im Objectinspector) Formular, nicht an einem dynamischen und prüfe mal, ob es dann funktioniert.

_________________
www.Uhrmacher-Theodor-Prenzel.de


Zuletzt bearbeitet von Rostfrei[] am 11:23:44 04.09.2010, insgesamt 1-mal bearbeitet
TheCaleb
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.06.2006
Beiträge: 270
Beitrag TheCaleb Mitglied 01:16:03 05.09.2010   Titel:              Zitieren

Vielen Dank für dein Vorschlag!
Jetzt wo ich die Form nicht mehr dynamisch erstellen lasse, klappt es komischer Weise!

_________________
MfG
TheCaleb
C/C++ Forum :: VCL (C++ Builder) ::  Nicht anklickbare Form  
Gehen Sie zu Seite 1, 2  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.