Per Klick Textfeld grün machen!
Moderator: Moderatoren
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Per Klick Textfeld grün machen!
Guten Tag Community!
Ich wollte eine Art Quiz machen. Habe als Anhang meinen Präsentationsscreenshot angehängt. Wie Ihr seht habe ich Kästchen mit Zahlen von 100 - 500 zu verschiedenen Themen. Ich wollte den Hintergrund vom Kästchen z.B. von der 100 grün machen, wenn man drauf geklickt hat und zu einer Folie springt. Wenn man dann wieder zurück Klick kommt man wieder zu dieser Übersicht, wo das Kästchen 100 immer noch grün sein soll. Damit man weiss wo man schon die Frage beantwortet hat. Doch bei mir bleibt die Farbe rot.
Habe es auch schon versucht den Texthintergrund grün zu machen bei Klick, aber wenn ich zurück gehe auf die Übersicht ist der Texthintergrund nicht grün.
Was mache ich falsch???
Wie kann man das machen? Habt ihr ideen?
MfG Patrik
Ich wollte eine Art Quiz machen. Habe als Anhang meinen Präsentationsscreenshot angehängt. Wie Ihr seht habe ich Kästchen mit Zahlen von 100 - 500 zu verschiedenen Themen. Ich wollte den Hintergrund vom Kästchen z.B. von der 100 grün machen, wenn man drauf geklickt hat und zu einer Folie springt. Wenn man dann wieder zurück Klick kommt man wieder zu dieser Übersicht, wo das Kästchen 100 immer noch grün sein soll. Damit man weiss wo man schon die Frage beantwortet hat. Doch bei mir bleibt die Farbe rot.
Habe es auch schon versucht den Texthintergrund grün zu machen bei Klick, aber wenn ich zurück gehe auf die Übersicht ist der Texthintergrund nicht grün.
Was mache ich falsch???
Wie kann man das machen? Habt ihr ideen?
MfG Patrik
- Dateianhänge
-
- RD-Quiz.png (63.77 KiB) 2741 mal betrachtet
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
- miesepeter
- ********
- Beiträge: 2241
- Registriert: Sa, 10.05.2008 15:05
- Wohnort: Bayern
Re: Per Klick Textfeld grün machen!
Hallo,
ich glaube nicht, dass du etwas falsch machst. Wenn du auf die "Hauptfolie" zurückspringst, dann wird sie neu geladen und zeigt also auch den anfänglich gewählten Hintergrund. Den kannst du dann wiederum mit Mausaktion verändern.
Die einzige Idee, die ich so spontan dazu habe, wäre, dass du von deiner Präsentation aus per Hyperlink eine zweite Antwort-Präsentation oder eine HTML-Antwortseite startest und damit nicht deine Übersichtsseite/Navigation verlässt. Die Farbe würde nicht zurückgestellt werden. Ist wahrscheinlich machbar, aber nicht besonders elegant...
Viel Erfolg!
ich glaube nicht, dass du etwas falsch machst. Wenn du auf die "Hauptfolie" zurückspringst, dann wird sie neu geladen und zeigt also auch den anfänglich gewählten Hintergrund. Den kannst du dann wiederum mit Mausaktion verändern.
Die einzige Idee, die ich so spontan dazu habe, wäre, dass du von deiner Präsentation aus per Hyperlink eine zweite Antwort-Präsentation oder eine HTML-Antwortseite startest und damit nicht deine Übersichtsseite/Navigation verlässt. Die Farbe würde nicht zurückgestellt werden. Ist wahrscheinlich machbar, aber nicht besonders elegant...
Viel Erfolg!
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Re: Per Klick Textfeld grün machen!
Das soll doch schon elegant aussehen! Gibts da vielleicht nen Makro befehl zu?
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Re: Per Klick Textfeld grün machen!
Hi Patrik,
Also das Ganze 25 mal mit entsprechenden Werten.
Mit "normalen" Schaltflächen wäre das alles viel viel einfacher.
Aber Du möchtest es ja elegant haben. Also muss Du leiden.
Denke daran, dass der Index bei Null anfängt zu zählen!
Schönes Weihnachtsfest.
Jürgen
Den gibt es schon. Das Ganze ist aber etwas aufwändig weil Du für jedes "Kästchen"den nachfolgenden Code entsprechend anpassen musst.PatrikB1985 hat geschrieben:Gibts da vielleicht nen Makro befehl zu?
Also das Ganze 25 mal mit entsprechenden Werten.
Code: Alles auswählen
Sub Color_2_Shape1 'Sub für erstes Control
Dim oDoc As Object
Dim Page As Object
Dim RectangleShape As Object
Dim Gradient As New com.sun.star.awt.Gradient
oDoc = ThisComponent
Page = oDoc.DrawPages(0) 'Erste Seite wo das Control liegt
RectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
RectangleShape = Page.getByIndex(0) 'Index des Controls
Gradient.Style = com.sun.star.awt.GradientStyle.AXIAL
Gradient.StartColor = RGB(0,139,0)
Gradient.EndColor = RGB(0,222,0)
Gradient.StartIntensity = 100
Gradient.EndIntensity = 100
Gradient.Angle = 0
Gradient.StepCount = 80
RectangleShape.FillStyle = com.sun.star.drawing.FillStyle.GRADIENT
RectangleShape.FillGradient = Gradient
oDocCtrl = oDoc.getCurrentController()
oDocCtrl.CurrentPage = oDoc.getDrawPages().getByIndex(1)'Seite zu der gesprungen wird
End Sub
Aber Du möchtest es ja elegant haben. Also muss Du leiden.

Denke daran, dass der Index bei Null anfängt zu zählen!
Schönes Weihnachtsfest.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Re: Per Klick Textfeld grün machen!
@turtle47 Danke!
Wie kann man ein Kästchen mit nem Makro verbinden?
Wie kann man ein Kästchen mit nem Makro verbinden?
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Re: Per Klick Textfeld grün machen!
Rechtsklick auf das Kästchen > Interaktion..... > Aktion beim Mausklick: im Listenfeld ganz nach unten scrollen > "Makro ausführen" auswählen und dann über die Schaltfläche "Durchsuchen..." das eingebaute Makro aktivieren.PatrikB1985 hat geschrieben:Wie kann man ein Kästchen mit nem Makro verbinden?
Zum Installieren des Makros schau Dir mal die Links von Winfried an.
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Re: Per Klick Textfeld grün machen!
Kriege es leider nicht hin, weil wenn ich das Makro benutzen will, dann kann ich nicht beim klick wechseln lassen, da er nicht auf die Seite springt!
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Re: Per Klick Textfeld grün machen!
Hast Du denn in dem Code auch die Zeile
angepasst???
.getByIndex(1) entspricht der zweiten Seite!
Also:
.getByIndex(8) entspricht der neunten Seite!
Denn ich hatte bereits geschrieben:
Code: Alles auswählen
oDocCtrl.CurrentPage = oDoc.getDrawPages().getByIndex(1)'Seite zu der gesprungen wird
.getByIndex(1) entspricht der zweiten Seite!
Also:
.getByIndex(8) entspricht der neunten Seite!
Denn ich hatte bereits geschrieben:
turtle47 hat geschrieben:Denke daran, dass der Index bei Null anfängt zu zählen!
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Re: Per Klick Textfeld grün machen!
was heißt:
oDoc.getDrawPages()
und
oDoc.getCurrentController()
???
oDoc.getDrawPages()
und
oDoc.getCurrentController()
???
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Re: Per Klick Textfeld grün machen!
Ich denke Du hattes Englisch in der Schule. Oder?
get Draw Pages
oder
get Current Controller
ist doch nicht schwer zu übersetzen.
Vielleicht siehst Du Dich dort mal um.
Jürgen
get Draw Pages
oder
get Current Controller
ist doch nicht schwer zu übersetzen.
Vielleicht siehst Du Dich dort mal um.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Re: Per Klick Textfeld grün machen!
Komischerweise macht er mir das 5 Rechteck grün, obwohl ich das 6 will!
Was habe ich vergessen oder falsch gemacht?
Code: Alles auswählen
Sub Color_2_Shape1 'Sub für erstes Control
Dim oDoc As Object
Dim Page As Object
Dim RectangleShape As Object
Dim Gradient As New com.sun.star.awt.Gradient
oDoc = ThisComponent
Page = oDoc.DrawPages(1) 'Erste Seite wo das Control liegt(zweite Seite)
RectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
RectangleShape = Page.getByIndex(6) 'Index des Controls(soll 6 Reckteck sein!)
Gradient.Style = com.sun.star.awt.GradientStyle.AXIAL
Gradient.StartColor = RGB(0,139,0)
Gradient.EndColor = RGB(0,222,0)
Gradient.StartIntensity = 100
Gradient.EndIntensity = 100
Gradient.Angle = 0
Gradient.StepCount = 80
RectangleShape.FillStyle = com.sun.star.drawing.FillStyle.GRADIENT
RectangleShape.FillGradient = Gradient
oDocCtrl = oDoc.getCurrentController()
oDocCtrl.CurrentPage = oDoc.getDrawPages().getByIndex(2)'Seite zu der gesprungen wird
End Sub
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Re: Per Klick Textfeld grün machen!
Hi,
es kommt manchmal darauf an in welcher Reihenfolge die Schaltflächen auf das Sheet gesetzt werden und das bestimmt den Index.
Stelle mal fest, welcher Index welcher Schaltfläche zugeordnet ist.
Vergebe deshalb zuerst den Schaltflächen einen Namen: Rechtsklick auf die Schaltfläche > Kontextmenue > Name....
und dann z.B. den Namen vergeben "Thema1_100", "Thema1_200, "Thema1_300" ...... "Thema5_500".
Starte dann folgendes Makro:
Jetzt siehst Du welche Schaltfläche welchen Index hat.
Jürgen
es kommt manchmal darauf an in welcher Reihenfolge die Schaltflächen auf das Sheet gesetzt werden und das bestimmt den Index.
Stelle mal fest, welcher Index welcher Schaltfläche zugeordnet ist.
Vergebe deshalb zuerst den Schaltflächen einen Namen: Rechtsklick auf die Schaltfläche > Kontextmenue > Name....
und dann z.B. den Namen vergeben "Thema1_100", "Thema1_200, "Thema1_300" ...... "Thema5_500".
Starte dann folgendes Makro:
Code: Alles auswählen
Sub Index_Button
Dim oDoc As Object
Dim Page As Object
oDoc = ThisComponent
Page = oDoc.DrawPages(0) 'Index der Seite wo die Controls liegen > ANPASSEN!!!!
AnzahlShapes = Page.getCount()
for i = 0 To AnzahlShapes -1
RectangleShape = Page.getByIndex(i) 'Index des Controls
s = s & CHR(13) & " Button: " & RectangleShape.name & " hat den Index: " & i
next
msgbox s
End Sub

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Re: Per Klick Textfeld grün machen!
Sorry, aber das Macro wird nicht ausgeführt auch, wenn ich die Sicherheitseinstellungen runter setze! Ich weiss ich nicht was ich machen soll!
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Re: Per Klick Textfeld grün machen!
Und ich weis nicht was Du bisher schon alles versucht hast, denn meine Glaskugel ist vereist, die Hellseherin ist im Skiurlaub und der Kartenleger findet seine Tarotkarten nicht.PatrikB1985 hat geschrieben: Ich weiss ich nicht was ich machen soll!
Das kann die Ursache nicht sein, denn dann würde das andere Makro zum Färben ja auch nicht funktionieren.PatrikB1985 hat geschrieben:aber das Macro wird nicht ausgeführt auch, wenn ich die Sicherheitseinstellungen runter setze!
Wenn Du das Makro über die IDE in ein neues Modul Deines Dokumentes eingebaut hast und dann oben das Symbol mit dem kleine grünen Pfeil klickst sollte zumindest die MsgBox angezeigt werden.
Sollte diese jedoch angezeigt werden aber leer sein, dann hast Du die falsche Seite ausgewählt die ausgelesen werden soll.
Page = oDoc.DrawPages(0) 'Index der Seite wo die Controls liegen > ANPASSEN!!!
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- ***
- Beiträge: 91
- Registriert: Di, 22.12.2009 23:14
- Wohnort: Bochum
Re: Per Klick Textfeld grün machen!
Danke jetzt konnte ich es sehen bin nämlich nicht auf ausführen gegangen!
Habe die Buttons jetzt verlinkt, aber er springt nicht zu angegebenen Seite, egal welchen verlinkten Button ich klicke!
Hier der von mir geänderten Code für das Dokument!
Habe die Controls auf Seite 2 und er soll auf Seite 3 springen! Wenn ich mit ESC die Präsentation unterbreche wird der gedrückte Button zwar grün, aber er srang vorher nicht auf die Seite und Zeigt mir während der Präsentation nicht an, was man schon gemacht hat. Also wird er während der Präsentation nicht grün nur, wenn ich ESC drücke!
LG Patrik
*EDIT:
Muss man für jedes neue Makro ein neues Modul erstellen?
Habe die Buttons jetzt verlinkt, aber er springt nicht zu angegebenen Seite, egal welchen verlinkten Button ich klicke!
Hier der von mir geänderten Code für das Dokument!
Code: Alles auswählen
Sub Color_2_Shape1 'Sub für erstes Control
Dim oDoc As Object
Dim Page As Object
Dim RectangleShape As Object
Dim Gradient As New com.sun.star.awt.Gradient
oDoc = ThisComponent
Page = oDoc.DrawPages(1) 'Erste Seite wo das Control liegt
RectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
RectangleShape = Page.getByIndex(11) 'Index des Controls
Gradient.Style = com.sun.star.awt.GradientStyle.AXIAL
Gradient.StartColor = RGB(0,139,0)
Gradient.EndColor = RGB(0,222,0)
Gradient.StartIntensity = 100
Gradient.EndIntensity = 100
Gradient.Angle = 0
Gradient.StepCount = 80
RectangleShape.FillStyle = com.sun.star.drawing.FillStyle.GRADIENT
RectangleShape.FillGradient = Gradient
oDocCtrl = oDoc.getCurrentController()
oDocCtrl.CurrentPage = oDoc.getDrawPages().getByIndex(2)'Seite zu der gesprungen wird
End Sub
LG Patrik
*EDIT:
Muss man für jedes neue Makro ein neues Modul erstellen?
MacBook Pro
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0
Betriebssystem: Mac OS X 10.6.7
OO-Version: 3.3.0