Announcement

Collapse
No announcement yet.

Wie bekommt man ein zusätzliches Label in die Titelleiste?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Neuste Komponente liegt jetzt im Download bereit.

    Gruß Hage

    Comment


    • #32
      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

      Comment


      • #33
        Ich <b>vermute</b> Windows hat für diesen Button ein korrespondierendes Flag in dem Fensterstyle. Also die ws_XXXXX und ws_Ex_XXXXX Flags.

        Gruß, Hage

        Comment


        • #34
          Ich habe gerade mal in der MSDN geschnüffelt. Also, es gibt da beispielsweise eine Funktion<br>
          &nbsp;&nbsp;&nbsp;&nbsp;<b>GetCurrentThemeName</b><br>
          oder auch<br>
          &nbsp;&nbsp;&nbsp;&nbsp;<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

          Comment


          • #35
            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.

            Gruß Hage

            Comment


            • #36
              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.

              Mathias

              Comment


              • #37
                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.

                Gruß Hage

                Comment


                • #38
                  http://www.microsoft.com/germany/ms/msdnbiblio/artikel/XPTheming.ht

                  Comment


                  • #39
                    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.

                    Mathias

                    Comment


                    • #40
                      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.

                      Ende.

                      Comment

                      Working...
                      X