AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zeilenumbruch im Speedbutton

Ein Thema von TRF · begonnen am 25. Jul 2006 · letzter Beitrag vom 26. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2   
TRF

Registriert seit: 25. Jul 2006
5 Beiträge
 
#1

Zeilenumbruch im Speedbutton

  Alt 25. Jul 2006, 23:22
Also ich such jetzt seit über ner stunde ne möglichkeit um einen zeilenumbruch in einen speedbutton einzufügen.

alles was ich find sind immer wieder die aussagen das das geht, aber nirgens WIE!

Kann mir da jemand weiterhelfen?

Wie es in nem normalen Button geht oder in nem Label weiss ich bereits, dies jedoch läßt sich nicht auf einen speedbutton anwenden. Hoffe auf schnelle antwort, Danke schonmal

PS: ich probiers grad mit Delphi6 aufm Laptop, in ner woche sitz ich wieder an meinem PC mit delphi7...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zeilenumbruch im Speedbutton

  Alt 25. Jul 2006, 23:31
Wenn du weißt, wie es mit einem Label geht, dann frage ich mich, warum du es nicht einfach mal genauso bei einem SpeedButton ausprobiert hast?

SpeedButton1.Caption := 'erste Zeile' + #13#10 + 'zweite Zeile';
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TRF

Registriert seit: 25. Jul 2006
5 Beiträge
 
#3

Re: Zeilenumbruch im Speedbutton

  Alt 25. Jul 2006, 23:35
Also ich nutze eine vom SpeedButton abgeleitete variante, den OvalButton. Der hat allerdings komplett dieselben Eigenschaften wie der Speedbutton (zumindest soll es so sein, aber man weiss ja nie)

Wenn ich es nun so probiere (und das habe ich bereits mehrfach getan) kommt kein Umbruch, sondern die Zeichen für unbekannte Zeichen, also 2 solche Balken...

ich verzweifel hier ein wenig...weil mir das grad nen komplettes programm versauen könnte...

editk, ich habs grad mit nem richtigen speedbutton probiert (vertrauen ist gut...frühere kontrolle wäre besser gewesen) damit gehts...damit steht fest das dieser ovalbutton NICHT 100% die eigentschaften des speedbutton umsetzt.

Ich hab die Komponente von der Seite www.delphi-fundgrube.de, da steht indeutig das das ding funzen soll wie ein speedbutton. Kein wunder das das nicht geht...

kann ich evtl. ein label erzeugen das genauso aussieht wie solch ein ovaler button? dann könnte ich das so lösen und müsste mich nicht weiter mit der fehlenden funktionaltität dieses Ovalbuttons rumärgern...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Zeilenumbruch im Speedbutton

  Alt 25. Jul 2006, 23:41
Zitat von TRF:
Also ich nutze eine vom SpeedButton abgeleitete variante, den OvalButton.
Ja, das wäre mal ganz gut zu wissen gewesen schon im ersten Posting.

Ist der Quellcode dabei, dann kannst du das ja noch selber ändern. Ansonsten einfach mal den Autor anschreiben und nachfragen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TRF

Registriert seit: 25. Jul 2006
5 Beiträge
 
#5

Re: Zeilenumbruch im Speedbutton

  Alt 25. Jul 2006, 23:46
Naja ich hab halt zu sehr darauf vertraut das die funktionen wirklich gleich sind. Deshalb fragte ich nach dem speedbutton und nicht nach dem unbekannten ovalbutton

der quellcode ist dabei, aber was genau muss ich da ändern? ganz sooo tief steck ich dann doch nicht in der materie...

ich will jetzt nicht den ganzen quellcode hier kopieren, ist ziemlich lang. vllt kannst du dir ja das ding bei http://www.pics-software.de/compon.htm runterladen und dir das so anschauen.

hoffe ich geh dir nicht zu sehr auf die nerven
  Mit Zitat antworten Zitat
TRF

Registriert seit: 25. Jul 2006
5 Beiträge
 
#6

Re: Zeilenumbruch im Speedbutton

  Alt 26. Jul 2006, 15:35
huhu...keiner ne idee wie ich das einbinden kann?
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Zeilenumbruch im Speedbutton

  Alt 26. Jul 2006, 15:46
Vielleicht hilft dsdt.info?
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Zeilenumbruch im Speedbutton

  Alt 26. Jul 2006, 17:56
Zitat von freak4fun:
Vielleicht hilft dsdt.info?
ich habe es jedenfalls mit einem TButton nicht zweizeilig hinbekommen wie dort beschrieben.

@ TRF:

ich habe mal kurz in die OvalBtn.pas reingeschaut. Dort findest Du
Delphi-Quellcode:
{ Caption zeichnen }
    if Caption<>'then begin
      {Position ermitteln}
      TextLeft:=(width-TextWidth(Caption)) shr 1;
      if Assigned(FGlyph) and (FNumGlyphs>0) and (FLayout=blGlyphRight) then
        TextLeft:=Dest.Left-TextWidth(Caption)-FSpacing;
      if Assigned(FGlyph) and (FNumGlyphs>0) and (FLayout=blGlyphLeft) then
        TextLeft:=Dest.Left+outWidth+FSpacing;
      TextTop:=(height-TextHeight(Caption)) shr 1;
      if Assigned(FGlyph) and (FNumGlyphs>0) and (FLayout=blGlyphTop) then
        TextTop:=Dest.Top+outHeight+FSpacing;
      if Assigned(FGlyph) and (FNumGlyphs>0) and (FLayout=blGlyphBottom) then
        TextTop:=Dest.Top-TextHeight(Caption)-FSpacing;
      if FState=-1 then begin
        inc(TextTop);
        inc(TextLeft);
      end;
      {Text ausgeben}
      if FTransparent then
        Brush.Style:=bsClear
      else begin
        Brush.Style:=bsSolid;
        Brush.Color:=Color;
      end;
      if FState=-1 then
        { verbleibende Up-Reste löschen }
        FillRect(Rect(TextLeft,
                      TextTop,
                      TextLeft+TextWidth(Caption),
                      TextTop+TextHeight(Caption)))
      else
        { verbleibende Down-Reste löschen }
        FillRect(Rect(TextLeft+1,
                      TextTop+1,
                      TextLeft+1+TextWidth(Caption),
                      TextTop+1+TextHeight(Caption)));
      TextR:=Rect(TextLeft,
                  TextTop,
                  TextLeft+TextWidth(Caption),
                  TextTop+TextHeight(Caption));
      StrPCopy(outText,Caption);
      if not Enabled then
        Font.Color:=clGrayText;
      DrawText(Handle,
               outText,
               length(Caption),
               TextR,
               DT_SingleLine);
    end;
Entscheidend dürfte das DT_SingleLine sein, was eine einzeilige Ausgabe erzwingt. Das ließe sich wahrscheinlich durch DT_WORDBREAK ersetzen. Dann kann es aber zu Darstellungsproblemen kommen, denn die Kompo orientiert sich ausschließlich an der Breite, nicht aber an der Höhe des Ausgabetextes.

Grüße, Messie
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.753 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Zeilenumbruch im Speedbutton

  Alt 26. Jul 2006, 18:27
könnte es daran liegen?

Delphi-Quellcode:
DrawText(Handle,
               outText,
               length(Caption),
               TextR,
               DT_SingleLine);
->

Delphi-Quellcode:
DrawText(Handle,
               outText,
               length(Caption),
               TextR,
               DT_Wordbreak);
habe die geänderte OvalBtn.pas mal angehängt.

http://support.borland.com/thread.js...=1476&tstart=0

Grüße
Klaus

[edit] zu spät gesehen, das messie schon etwas dazu geschrieben hatte [/edit]
Angehängte Dateien
Dateityp: pas ovalbtn_225.pas (20,0 KB, 5x aufgerufen)
Klaus
  Mit Zitat antworten Zitat
lizardking

Registriert seit: 2. Sep 2005
76 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Zeilenumbruch im Speedbutton

  Alt 26. Jul 2006, 20:12
Zitat von Klaus01:
Delphi-Quellcode:
DrawText(Handle,
               outText,
               length(Caption),
               TextR,
               DT_Wordbreak);
habe die geänderte OvalBtn.pas mal angehängt.
Im TextR wird zusaetzlich noch die Hoehe und Breite des Zeichenbereichs gesetzt. Ergo: Er bricht dann zwar um, aber man sieht die zweite Zeile einfach nicht. An der Stelle muss also auch noch was geaendert werden. Dann muesste es aber funktionieren.

Gruesse,

Lizzy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz