![]() |
Eigene Form u. DB-Komponenten -> XP-Style
Hi,
das ist mein erster Forumthread hier! Ihr habt ein super Forum nur um das mal zu sagen! ich hab auch schon eure Code Library durchgescahut und einige interessante Dinge gefunden! Unteranderem XP-Style für Delphi 4-6. Das Problem ist dieses: Das mit der Manifest Datei hab ich hin bekommen und sogar als .Res Datei mit ein zu kompilieren, aber leider werden nur die Standardcontrols im Xp Style angezeigt. Dann hab ich in eurer Code Library gesehen, das der Entwickler der XP-Style (die auch in Delphi 7 integreiert sind) diese auch für älter Versionen anbietet! Er hat sogar die Datenbankkomponenten im Xp-Style. Nun hab ich das Problem, das unsere Datenbankkomponenten Eigenentwicklung sind und ich gerne mal sehen würde, wie diese im Xp-Style aussehen. Aber ich weiss nicht wo ich jetzt was amchen muss , damit unsere Komponente im XP-Style auf die Oberfläche kommen! Eigentlich sind alle Dinge, die bei uns verwendet werden Eigenentwicklungen wie z.B. eigen TForm usw. einige sind einfach nur direkt von den normalen Komponenten abgeleitet andere sind von Vorfahren abgeleitet und verändert. Kann mir jemand erklären wie ich die Packages von unseren Komponente jetzt XP fähig mache. Leider kümmert sich darum keiner und ich würde gern mal sehen wie unser produkt im XP-Style aussieht! Dann könnte ich vielleicht sogar unser Projektleiter davon überzeugen, den XP-Style z.B. bei Messen einzuschalten usw. Danke für eure Hilfe! (Hoffentlich ist das auch das richtig UnterForum, aber ich denke schon) |
Re: Eigene Form u. DB-Komponenten -> XP-Style
Erstmals willkommen in der DP :dp: :hi:
Zweitens, verwendest du TXPMenu? Wenn ja, dann könnte dich genau dieser Beitrag interessieren: ![]() |
Re: Eigene Form u. DB-Komponenten -> XP-Style
Ne ich meine ich will den XP-Style bei unseren eigens entwickelten Komponenten! TXPMenu ist ja auch nur ne Komponente? vielleicht kann mir einer erklären wie ich den Thememanger verwende, das unsere Komponeten im Xp-Style kommen! Im Beispielcode gibt es auch ne möglichekit ein Objekt des Thememanger anzulegen und dann diesen dann alle Controls einsammeln zu lassen, aber wie mache ich das in Komponenten Packages und bei eigenen Komponenten die irgendwann (als irgendwo in der Objekthierarchie) abgeleitet wurde.
Es bringt nämlich überhaupt nix, wenn ich z.B. die Komponente "ThemeManger" oder "ThemeManagerDB" auf unsere Formulare lege. Ich weiss nicht warum, aber ich denke, weil unsere fast alle auf eigene Komponenten basieren. |
Re: Eigene Form u. DB-Komponenten -> XP-Style
Wenn du eigenentwickelte Komponenten einsetzt, welche auch eine eigene Zeichneroutine besitzen, so mußt Du natürlich auch für aktivierte XP-Themes eine eigene Zeichenroutine implementieren. Windows kann natürlich nicht wiesen dass dein Custom-Control zwar in der Art xy gezeichnet wird, aber dies unter XP-Themes ganz anders aussehen soll. So ist ja z.B. der Bitbtn von Delphi ja auch nicht gethemes (trotz aktiven XP-Theme).
Wie sowas geht (XP-Theming-Zeichnen) könntest Du z.B. (wenn Du ein paar € investieren kannst) im ![]() |
Re: Eigene Form u. DB-Komponenten -> XP-Style
Soweit ich weiss sind unser Komponenten meisten nur mit zusätzlichen Funktionen ausgestattet, und alle von den Standardkomponenten abgeleitet! D.h. unsere Komponentenentwickler haben keine eigenen Zeichenroutinen eingebaut!
Gestern hatte ich komischerweise auf einem Tool, das auf unserer TForm basierte und eigentlich nur mit unseren komponente ausgestattet war das glück eine ThemeManagerXP Komponente draufzulegen und kurze Zeit den Anblick zu geniessen! Leider ging das nur bei dem Tool! bei einem Projekt von unserem Produkt ging der Versuch fehl! Ich weiss nicht warum? Schön wäre es ja, wenn ich eben nicht immer extra eine ThemeManagerXP Komponente auf die Form legen müssten, sonder wenn z.B. in der Form oder z.B. in allen unseren Komponenten das ThemeManagerObjekt bzw. Routine integriert ist! Weil jede Nacht ein gesamt Kompilat unsere Produktes läuft wäre es daher auch schön! Weil sonst müsste ich ja alle .pas bzw. .dfm bearbeiten und die ThemeManagerDB Komponente einabauen! Der Weg über die Veränderung unsere Komponeten wäre da einfacher, da diese ja in jedem Projekt eingesetzt werden und es bei dem Gesamtkompilat dann schneller zu einem XP-Style führt! |
Re: Eigene Form u. DB-Komponenten -> XP-Style
wenn die komponenten von anderen abgeleitet sind auch auch am zeichnen nix geändert wird, müsste der xp-style bei dem nachfahren genauso wie beim vorgänger sein
|
Re: Eigene Form u. DB-Komponenten -> XP-Style
versuch mal die bpl-dateien im System32-Verzeichnis von Deinem und den anderen abzugleichen..
Bernhard und Alcaeus schlafen wohl nie <griemel> Gruß, Jochen |
Re: Eigene Form u. DB-Komponenten -> XP-Style
[OT]
Zitat:
[/OT] |
Re: Eigene Form u. DB-Komponenten -> XP-Style
[OT]
Zitat:
[/OT] Zum Problem. Um für deine Anwendung Theming zu aktivieren, ist ein sogenanntest Manifest nötig. Dieses ist entweder eine .manifest-Datei parallel zur Anwendungs-Exe oder ein Manifest-Resource. Alle XP-Theming-Komponenten werden nur einmal pro Anwendung benötigt und sorgen für das Einbinden dieser speziellen Resource. Alternativ kannst Du auch selbst diese Resource zu deiner Anwendung binden. Die suche nach Manifest im Forum dürfte genügend Beispiele bieten. |
Re: Eigene Form u. DB-Komponenten -> XP-Style
Ja ja das ist mir schon alles klar!
Leider funktioniert XP Theming per Manifestdatei nicht z.B. mit DBComboBox u.a. Komponenten! Das ist mein erste Problem gewesen, aber dann hab ich ja durch euer Forum die XP Thememanger Komponente von dem Entwickler des XP Manifest Komponente aus Delphi 7 gefunden! Mit der Manifestdatei ist eben nicht alles im XP Style vor allem viele DB Komponenten nicht... Ich versuch nochmal irgendwie die Thememangerklasse beim Create von unserer Form aufzurufen und dann wird unsere komplettes Produkt hoffentlich im XP Style erscheinen... Danke nochmals für die Hilfe, aber ihr habt mir leider nicht wirklich weiterhelfen können. Da ihr immer andere Dinge beschrieben habt, die leider nichts mit meine Problem zu tun haben. Trotzdem danke für eure Mühe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz