PDA

Vollständige Version anzeigen : VBA vs. Grafikkarte (ACC97)


Ohnesorg
11.07.2001, 14:58
Hallo, Ihr Meister der tiefgründigeren VBA - Porgrammierung.

Ich habe da das ein oder andere Problem. Alles bezogen auf Grafische Objekte bzw. deren Eigenschaften.

Das ist gegeben:
- Datenbank mit zig Formularen und einem Hauptmenü.

- In diesem Hauptmenü befinden sich Schaltflächen, die die Verhaltensweise von Hoverschaltflächen emulieren. (wie das aussieht ist weiter unten beschrieben.)

- Ein Formular, dass als Farbpalette dient um die Hintergrund-, Vordergrund-, etwaige Rahmen- und Hover-Farben einzustellen.

Hoverschaltflächen
Man nehme ein Bezeichnungsfeld, schreibe DEN Text hinein, der eigentlich in der entsprechenden Schaltfläche stehen sollte und eine Schaltfläche, deren Eigenschaft "Transparent" auf True gesetzt ist.
Nun schiebe man die Schaltfläche über das Bezeichnungsfeld.
Überrollt der Mauszeiger die Schaltfläche, wird eine Aktion ausgeführt, die die Eigenschaften des Bezeichnungsfeldes auf FontBold = True und ForeColor = Eine_Beliebige_Farbe ändert.
Trollt sich der Mauszeiger wieder auf den Detailbereich, werden die Eigenschaften des Bezeichnungsfeldes wieder zurückgesetzt.

Mein Problem:
Meine User meckern permanent über die Farbzusammenstellung der Hoverschaltflächen.
Mache ich es dem einen recht, meckert der nächste! Der eine mag es bunt, der andere lieber grau, der eine will nicht nur Fettdruck sondern auch italic, während der andere es lieber sieht, wenn der Text unterstrichen ist... u.s.w. und so fort.

An sich ja kein Problem, denn ich habe eine Farbpalette programmiert, die diese Eigenschaften in die Registry schreibt und die Funktion der Hoverschaltflächen ließt das einfach nur aus und verwendet die Farben... dachte ich!

ich meine es Funktioniert ja einwandfrei, wenn die Grafikkarten bei uns etwas statischer eingestellt wären! Der eine hat 16 Farben, der nächste 256 und der dritte hat 65536 Farben... und so weiter und so fort!

Ich kann also nicht sagen, wer welche Farben verwenden darf!

Eine klare Frage in der Hoffnung auf eine klare Antwort
Kann ich über VBA feststellen, in welcher Farbtiefe die Grafikkarte sich befindet und wenn ja wie?

Kann ich - wenn ich fies wäre - diese Einstellung per VBA ändern und wieder zurücksetzen und wenn ja wie?

Wenn auf beide Fragen ein Nein zu hören ist... Was mache ich dann? (läßt sich lesen wie in einem schlechten Groschenroman!)

Morli
11.07.2001, 15:08
Hallo Ohnesorg,

also ich kann dazu nur sagen: Wenn du deinen User den kleinen Finger reichst, hacken die dir den ganzen Arm ab...!

Aber wenn Du das machen willst / mußt dann wirst du nur mit entsprechenden API - Funktionen weiterkommen.

Gruß

Rainer ;)

Ohnesorg
11.07.2001, 15:37
Hi Morli,

wenn es nach dem Abhacken gehen würde, müsste ich inzwischen die Quelltexte mit der Zunge schreiben... vorausgesetzt, sie wäre noch dran! :D

Mal im Ernst... Was ich da programmiere war mal eine 6000zeilige und 89spaltige Excel - Liste gewesen...
Nach endlosen Gebetsstunden bei meiner Chefin durfte ich endlich anfangen auf Access eine Datenbank daraus zu stricken.
Allerdings nicht so ganz ohne Bedingungen... Eine davon war: "Das ist eine Auftragsarbeit. Ich sage, was ich brauche und Du sagst, ob das geht und wie lange Du in etwa brauchst"
Das Blöde war... ich habe zugestimmt.
Ich bereuhe es ja nicht... aber manchmal sage ich zu schnell ja... nur um festzustellen, dass ich wieder nicht richtig nachgedacht habe...

Das Ziel der Datenbank soll auch sein so autark wie möglich zu wirken... Betonung liegt auf WIRKEN!! :)

Und die User sollen auch ein wenig damit spielen können... *grmpf* :rolleyes:


Was die API angeht...
Ich bin der Meister, was die APIs angeht... Naja wohl eher der Kleister-Meister, der davon keine Ahnung hat... auf gut deutsch: APIs sind nicht meine Stärke und ich habe keine Ahnung, welche DLL ich verwenden und welcher Eintrittspunkt für die Einstellungen verantwortlich ist und welche Variablen er braucht... Eine ziemliche Niete, oder? :(
Zu deutsch: HIIIIILFEEEEE!!!!

Scorefun
11.07.2001, 18:23
Hi,

schau mal in die know-how-DB unter Module
mdlSysInfo.
Dort die Funktion
atGetColourCap()

und Du hast zumindestens die eingestellte Farbtiefe Deiner User...

Wie Du diese Erkenntnis dann weiterverarbeitest...

Ohnesorg
12.07.2001, 08:06
Hi ScoreFun,

ich danke Dir!! :cool:
Werde ich gleich mal austesten...

Markus-Düsseldorf
17.07.2001, 13:16
hallo ohnesorg,

meine antwort hat nicht unmitelbar was mit deiner frgae zu tun ,
nur zu deiner chefin : ist typisches verhalten um minderwertigkeitskomplexe zu kompensieren , trifft man fast in jeder firma ," das ist jalles so eine scheisse und nur deswegen wollen wir das auch gar nicht so genau wissen , wenn es nicht so eine scheisse wäre dann ,ja dann würden wir jauch und dann könnten wir ja auch "
ich versuch immer haltung einzunehmen wer das eine will muss das andere mögen wer auto fahren will muss kapieren ,dass er beim schalten kuppeln muss

wollt ich dir nur mal sagen , weil ich finde dass du zu sehr an dem rummeckeln lässt was du machst ,kuck doch mal welches niveau du hast wenn du dich mit anderen hier vergleichst , die wichser sollen frih sein dass du noch da bist

gruss markus