AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wordwrap umbruch

Ein Thema von EWeiss · begonnen am 19. Nov 2018 · letzter Beitrag vom 20. Nov 2018
 
EWeiss
(Gast)

n/a Beiträge
 
#23

AW: Wordwrap umbruch

  Alt 20. Nov 2018, 17:33
Nur als Nachtrag!

Habe die Funktion mit dem Label jetzt aus der AudioSessionVolume.pas rausgeschmissen und ändere den Text jetzt in der Anwendung selbst.
So ist man von der TAudioVolume unabhängig und ändert den Text dort wo es angebracht ist.

Zudem muss ich dann nichts mehr berechnen da ich das innerhalb meiner Library schon tue.
Wenn der Text länger ist wie das Control und sich kein Leerzeichen innerhalb des Textes befindet dann schicke ich einfach nur mein Flag GD_Ellipsis und fertig.

Die Anwendung muss sich dann um die Formatierung des Textes selber kümmern.

Delphi-Quellcode:
      GDIP_GetTextBound(MainClass.DeviceName, FontName, 13, bw, bh, nil, GD_TextHorzUp);

      // DeviceName
      x := x1;
      y := 41;

      ID := ID_DEVICENAME + Index;

      for i := 1 to Length(MainClass.DeviceName) do
      begin
        if MainClass.DeviceName[i] = ' then
        begin
          bNull := True;
          gSprSession.GD_DrawTextToCtrlEx(HSprSession, PWideChar(Trim(MainClass.DeviceName)), x, y,
            ParentWidth, bh * 2, gSprSession.GD_ARGB(255, 255, 255, 255), PWideChar(FontName), nil, 13,
            ID, GS_VISIBLE, 0, Ord(StringAlignmentCenter));
          break;
        end;
      end;

      if not bNull then
      begin
        if (bw > ParentWidth) then
          gSprSession.GD_DrawTextToCtrlEx(HSprSession, PWideChar(Trim(MainClass.DeviceName)), x + 2, y,
            ParentWidth, bh, gSprSession.GD_ARGB(255, 255, 255, 255), PWideChar(FontName), nil, 13,
            ID, GS_VISIBLE, 0, GD_Ellipsis) // ***** das war's schon
        else
        gSprSession.GD_DrawTextToCtrlEx(HSprSession, PWideChar(Trim(MainClass.DeviceName)), x, y,
          ParentWidth, bh * 2, gSprSession.GD_ARGB(255, 255, 255, 255), PWideChar(FontName), nil, 13,
          ID, GS_VISIBLE, 0, Ord(StringAlignmentCenter));
      end;

      gSprSession.GD_SetObjectUse3Dshadow(ID, 1.1, true);
      gSprSession.GD_SetObjectLinked(ID, LinkedID);
      gSprSession.GD_SetObjectLocked(ID, true);
Es löst zwar nicht das Problem mit den 3 Zeilen macht mich aber unabhängig von TAudioVolume.

gruss

Geändert von EWeiss (20. Nov 2018 um 18:28 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 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-2025 by Thomas Breitkreuz