Seite 1 von 1
Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: Fr, 16.11.2012 12:21
von hwg68
Hallo,
nun folgendes Problem:
In einer Zelle habe ich über Ansicht-->Symbolleisten--->Formular/Steuerlelemente ein Markierfeld erstellt. Setze ich dort einen Haken, soll das Feld z.b grün werden. Nehme ich den Haken raus, soll es wieder weiss werden bzw ohne Füllfarbe sein.
Versucht habe ich folgendes: Über die Eigenschaften des Markier- bzw Kontrollfeldes habe ich bei Ereignisse versucht Makros zu setzen und zwar:
bei Fokuserhalt ein Makro, in dem ich die jeweilige Zelle per Mausklick mit (zb) grün fülle und bei Fokusverlust ein Makro, in dem ich per Mausklick den Hintergrund ohne Füllung setze.
Die enstprechenden Makros habe ich vorher über die Funktion Makros--->aufzeichnen erstellt. Aber irgendwie klappt das so nicht......
Danke für die Hilfe!
hwg
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: Fr, 16.11.2012 13:00
von balu
Hallo hwg,
bei Fokuserhalt ein Makro
Das ist der Falsche Weg. Und warum? Weil, wenn der Mauszeiger auf die Fläche des Markierfeldes kommt wird sofort eine Aktion ausgeführt, und das ohne das Du eine Maustaste gedrückt hast. Und das gleiche gilt auch für das verlassen des Markierfeldes.
Da ich ja nicht weiß wie dein Makro für die Füllfarben aussieht, kann ich dir nicht sagen was Du wo ändern musst, damit mein folgender Vorschlag funktioniert.
Du gehst nicht auf Fokus... für das Markierfeld, sondern einzig nur auf "Status geändert". Und das Makro welches Du zuweisen musst fragt den Status des Markierfeldes ab. Und je nach Status wird dann die Farbe gesetzt.
Hilft das weiter?
Gruß
balu
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: Fr, 16.11.2012 13:13
von hwg68
Hm...hab jetzt einfach mal mein Makro bei der Statusänderung eingesetzt.
Aber wie frage ich denn mit nem Makro den Status überhaupt ab? und WENN dann Statusänderung, dann doch bestimmt die Farbe zuweisen mit =back color xxx ??
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: Sa, 17.11.2012 12:52
von Karolus
Hallo
Für ein Markierfeld:
Code: Alles auswählen
def box_test(event):
box = event.Source
if box.State == 1:
box.Model.BackgroundColor = 123456
else:
box.Model.BackgroundColor = -1
übersetze das in Basic und verknüpfe mit dem Ereignis 'Aktion ausführen'
Das ganze ist relativ einfach herauszufinden mit folgendem 'Standard'-event-test:
Ja - dafür muss
mri installiert sein und einmalig verfügbar gemacht werden per:
Code: Alles auswählen
Sub LoadMriLibrary()
Globalscope.BasicLibraries.LoadLibrary( "MRILib" )
End Sub
Karolus
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: So, 18.11.2012 08:56
von hwg68
Hallo Karo,
danke erstmal für deine Hilfe!
Aber ich glaub, du schätzt mich zu hoch ein... das sind jetzt erstmal alles "böhmische Dörfer" .....
Die mri-Extension hab ich wenigstens mal in Oo eingefügt.....alles andere..... ??????
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: So, 18.11.2012 14:42
von Karolus
Hallo
Aber ich glaub, du schätzt mich zu hoch ein... das sind jetzt erstmal alles "böhmische Dörfer"
Man wächst an seinen Herauforderungen
hier die Basic-version:
Code: Alles auswählen
sub box_test(event)
box = event.Source
if box.State = 1
box.Model.BackgroundColor = rgb(0, 255, 0)
else
box.Model.BackgroundColor = -1
end if
end sub
Karolus
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: So, 18.11.2012 18:26
von hwg68
danke Karo, ich versuche zu wachsen, da mich das ganze interessiert und ich eigenlich gern tüftle mit solchen Dingen...
Hab ein Makro erstellt und deinen Code rein kopiert. Beim "Abspielen" ist allersdings die "1" in der ersten "if"-Zeile markiert und es kommt "Basic-Syntaxfehler Erwartet: Then"
hwg
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: So, 18.11.2012 18:43
von Karolus
..und es kommt "Basic-Syntaxfehler Erwartet: Then"
Da gibt dir Basic mal ausnahmsweise einen verständlichen Tipp und du bemerkst es nicht mal -
häng an die angemeckerte Zeile ein
then dran.
Karolus
Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: Mo, 19.11.2012 07:55
von hwg68
hmm....soweit haben meine englisch-kenntnisse noch gereicht, um es mit einem then am ende dieser zeile zu versuchen, aber...
dann ist box = event.Source markiert mit der Meldung: Basic-Laufzeitfehler - Argument ist nicht optional
bist du teuer als Privatlehrer?

Re: Farbige Zellen durch Checkbox bzw Kontrollfeld
Verfasst: Mo, 19.11.2012 22:59
von Karolus
Hallo
Binde die Ausführung der Sub an das Ereignis 'Aktion ausführen' der Checkbox...
Karolus