1.9 Ownerdraw-Beispiel

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

1.9 Ownerdraw-Beispiel

Beitrag von Jan »

Hallo,

ich habe mal ein wenig mit dem Beispiel in Samples/Basic/Ownerdrw gespielt. Dabei stellen sich mir zwei Fragen:

Wie schaffe ich es, hier einen kompletten Menübaum wieder zu löschen? Oder die gesamte Menubar?

Sowohl die seitliche Beschriftung als auch der Menühintergrund sind ja farbig hinterlegt. Wobei feste Farben eingesetzt sind. Was aber, wenn der User über die Systemsteuerung eine andere Farbeinstellung wählt? Dann passt das alles nicht mehr sehr gut zusammen. Kann man die Systemfarben irgendwie abfragen und damit das Ownerdrawing automatisch anpassen?

Irgendwie drehe ich mich da im Kreis...

Jan
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

ich habe es zwar nicht ausführlich probiert, aber so wie ich das sehe wird die Menüklasse abgeleitet und um ein BMP Objekt ergänzt.

1. Ich denke wenn man das Menü zerstört (destroy), eventuell muss man voher das BMP Objekt zerstören, dann ist es wie normal weg. Allerdings habe ich noch nie ein Menü zerstört, höchstens versteckt.

2. Kann man die Systemfarben nicht in der registry abfragen ?

3. Eigene Farbvorgaben und Systemweite Farbsteuerung wiedersprechen sich oft gegenseitig, besonders wenn jemand einen seltsamen Geschmack hat und rosa oder giftgrüne Systemfarben wählt :wink: Bei BMP kann man doch aber eine Farbe auf Transparent setzen, das sollte man mit dem Hintergrundanteil tun. Gemacht habe ich sowas allerdings auch noch nie.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

Moin Hubert,

destroy() funktioniert leider nicht. Die Reaktionen gehen von "passiert garnichts" bis "100 % Prozessorauslastung und sonst garnichts".

Hast Du eine Ahnung, wo und wie die Farben abgelegt werden? Was Du über Farbgebung sagt ist genau das, was ich vermeiden möchte. Nur wird in dem Alaska-Beispiel die Farbe fest codiert, und genau das könnte zu augenschmerzenden Ergebnissen bei feinfühligen Bedienern führen.

Jan
Antworten