Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
Announcement
Collapse
No announcement yet.
Wie bekommt man ein zusätzliches Label in die Titelleiste?
Hallo allerseits,<br>mal wieder ein "altes" Problem mit einer neuen Frage )<br><br>Also:<br>
Ich hab´ ja nun Hagens Komponente ein paar Mal benutzt, und unter Win9x usw. passt ja auch alles sehr schön. Unter WinXP habe ich mir beholfen, indem mein Programm die OS-Version prüft und den Link ggf. ein bisschen nach links schiebt, damit er nicht in den LUNA-Buttons landet. (Wenn irgendeins der Themen aktiv ist.)<br><br>Schalte ich jetzt unter XP auf die klassische 2000-Ansicht um, dann sieht´s natürlich wieder merkwürdig aus, weil der Abstand zwischen Link und Button nun zu groß ist.<br><br>Hat sich irgendwer schon mal mit diesen Dingen beschäftigt?
Ich meine: der Abstand wird ja in der Komponente über "GetSystemMetrics" usw. berechnet, aber unter XP scheint das (zumindest bei aktivem Thema) nicht zu klappen (s. oben).<br><br>Gibt´s vielleicht eine Funktion, über die man prüfen kann, ob ein Thema aktiv ist? Und wenn ja, wieviel Platz die Buttons in der Titelleiste belegen?<br><br>Gruß,<br>Mathias
Ich habe gerade mal in der MSDN geschnüffelt. Also, es gibt da beispielsweise eine Funktion<br>
<b>GetCurrentThemeName</b><br>
oder auch<br>
<b>GetThemeMetric</b><br><br>
Das Problem dabei ist nur, dass die Dateien von Delphi5 (und meines Erachtens auch von Delphi6) nicht aktuell genug sind, um solche Dinge schon zu kennen. Oder? (Delphi6, meine ich.) Gerade letztere Funktion bietet (denke ich) das Gewünschte.<br><br>
Drei Fragen:<br>
Besteht die Möglichkeit, dass Borland für Delphi6 (oder sogar für die älteren Versionen) ein Update herausgibt, das diese Dinge berücksichtigt? Das wäre dann nämlich ein Grund für mich, auf D6 zu updaten.<br><br>
Gibt es jemanden, der mir sagen kann, in welchen Dateien oder Bibliotheken diese und ähnliche Funktionen stecken, und wie man sie aufrufen müsste, wenn man sie nutzen will ohne updaten oder auf Borland warten zu müssen? Ich habe nämlich keine Downloadmöglichkeit gefunden. Verständlich. Wahrscheinlich sind die benötigten Header- u.ä. Dateien Teil des VisualStudio.NET.<br><br>
Woher kann man <b>legal</b> eine aktuelle Version der MSDN bekommen? Meine ist schon ein bisschen älter, wie man an obigen Infos sehen kann - sonst hätte ich ja nicht online suchen müssen. Kann man die MSDN zu einem halbwegs vernünftigen Preis bekommen?<br><br>
Mathias
Ich würde beide Funktionen dynamisch für Deinen speziellen Fall importieren. Damit ist ein Umstieg auf D6 nicht erforderlich und gleichzeitig Deine Routinen lauffähig unter jeder Windows Version. Ausserdem glaube ich nicht das Borland solche XP relevanten Funktionen noch in ein D6 Update packen wird.
Das mit dem dynamischen Laden usw. würde ich ja machen, Hagen, aber da kommt das Problem, dass mir die nötigen Infos (sprich: Headerdateien mit den Konstanten usw.) fehlen. Immerhin gibt es ja auch eine neue Nachricht "wm_themechanged" (o.ä.), aber ich denke nicht, dass Delphi damit etwas anfangen kann. ) Also müsste man die Konstanten usw. selbst definieren. Aber wie? So ohne Infos ...
Und was Borland angeht - ich bin sicher, in Delphi7 wird es die entsprechende Unterstützung geben. Aber wer weiß schon, was für Funktionen das OS dann haben wird. Schließlich wartet Microsoft bestimmt nicht solange ab.
1.) schau mal beim den JEDI's rein, www.delphi-jedi.org die haben API Headerdie meistens auf dem aktuellen Stand sind.
2.) im MSDN haste ja diese beiden Funktionen gefunden, gleiches gilt für die Message wm_ThemeChanged. Nun, die Funktionen sind doch bescrieben mit ihren Params, Flags uvm. ?!?<br>
Also selber auf Grund dieser Infos einen Header definiert.
Ich selber kenne diese Funktionen nicht und habe demzufolge selber keine Headers usw.
Das ist ja lustig, Hagen. Ich kannte von deinem Link nur die englische Version - und die Infos dort habe ich ja schon ausgiebig benutzt. (@Andreas Kosch: ;o))
Mir geht´s mehr um die Offline-Version. Es kostet mich nämlich leider noch Geld, wenn ich im Netz bin. Flatrate ist nicht (AOL zickt rum), Jobmäßig sieht´s leider im Moment auch nicht gerade rosig aus (so dass man ´ne dienstliche Leitung evtl. als Code-Sniffer nutzen könnte ), und manchmal muss man auch in Ruhe in den Hilfeseiten schnüffeln, ohne dass der Gebührenzähler tickt. (
Na ja, mal schauen. Früher oder später wird´s, denke ich, ein paar Seiten zu dem Thema geben.
Wobei: ich habe mir mal die "luna.msstyles" zur Brust genommen. Man glaubt gar nicht, wozu die Beispiele von Borland (Ressourcen-Explorer) alles gut sind. ) Diese Datei enthält INI-Dateien, alle Grafiken usw. Schön und gut, aber solange man nicht weiß, welche Bibliothek man anzapfen muss (und wie), um die Funktion zu laden, ist es erst mal nur so ein Herumstochern.
Aber egal.
Man könnte zu dem Thema dann ja mal langsam einen eigenen Thread aufmachen.
Letzter Eintrag zu dem Thema, dann höre ich auf und fange (bei Gelegenheit) lieber einen neuen an: Die Jedis haben in der Tat Headerdateien mit Zugriff auf die Themes. Geniale Sache. Da werde ich mich mal damit beschäftigen. Aber ich muss es dynamisch umsetzen (das Laden der DLL, meine ich), sonst funktionieren die Programme wieder nicht unter den anderen Systemen.
Comment