| Autor |
Beitrag |
danielpt
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 16:06
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110:
| procedure TForm1.SpeedButton4Click(Sender: TObject); begin if Richedit1.SelAttributes.Style=[] then begin Richedit1.SelAttributes.Style:=[fsBold]; end else if Richedit1.SelAttributes.Style=[fsBold] then begin Richedit1.SelAttributes.Style:=[]; end else if Richedit1.SelAttributes.Style=[fsItalic] then begin Richedit1.SelAttributes.Style:=[fsBold,fsItalic]; end else if Richedit1.SelAttributes.Style=[fsBold,fsItalic] then begin Richedit1.SelAttributes.Style:=[fsItalic]; end else if Richedit1.SelAttributes.Style=[fsUnderline] then begin Richedit1.SelAttributes.Style:=[fsBold,fsUnderline]; end else if Richedit1.SelAttributes.Style=[fsBold,fsUnderline] then begin Richedit1.SelAttributes.Style:=[fsUnderline]; end else if Richedit1.SelAttributes.Style=[fsItalic,fsUnderline] then begin Richedit1.SelAttributes.Style:=[fsBold,fsItalic,fsUnderline]; end else if Richedit1.SelAttributes.Style=[fsBold,fsItalic,fsUnderline] then begin Richedit1.SelAttributes.Style:=[fsItalic,fsUnderline]; end; end;
procedure TForm1.SpeedButton5Click(Sender: TObject); begin begin if RichEdit1.SelAttributes.Style=[] then begin RichEdit1.SelAttributes.Style:=[fsItalic]; end else if RichEdit1.SelAttributes.Style=[fsBold] then begin RichEdit1.SelAttributes.Style:=[fsBold,fsItalic]; end else if RichEdit1.SelAttributes.Style=[fsItalic] then begin RichEdit1.SelAttributes.Style:=[]; end else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic] then begin RichEdit1.SelAttributes.Style:=[fsBold]; end else if RichEdit1.SelAttributes.Style=[fsUnderline] then begin RichEdit1.SelAttributes.Style:=[fsItalic,fsUnderline]; end else if RichEdit1.SelAttributes.Style=[fsBold,fsUnderline] then begin RichEdit1.SelAttributes.Style:=[fsBold,fsItalic,fsUnderline]; end else if RichEdit1.SelAttributes.Style=[fsItalic,fsUnderline] then begin RichEdit1.SelAttributes.Style:=[fsUnderline]; end else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic,fsUnderline] then begin RichEdit1.SelAttributes.Style:=[fsBold,fsUnderline]; end; end; end;
procedure TForm1.SpeedButton6Click(Sender: TObject); begin if RichEdit1.SelAttributes.Style=[] then begin RichEdit1.SelAttributes.Style:=[fsUnderline]; end else if RichEdit1.SelAttributes.Style=[fsBold] then begin RichEdit1.SelAttributes.Style:=[fsBold,fsUnderline]; end else if RichEdit1.SelAttributes.Style=[fsItalic] then begin RichEdit1.SelAttributes.Style:=[fsItalic,fsUnderline]; end else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic] then begin RichEdit1.SelAttributes.Style:=[fsBold,fsItalic,fsUnderline]; end else if RichEdit1.SelAttributes.Style=[fsUnderline] then begin RichEdit1.SelAttributes.Style:=[]; end else if RichEdit1.SelAttributes.Style=[fsBold,fsUnderline] then begin RichEdit1.SelAttributes.Style:=[fsBold]; end else if RichEdit1.SelAttributes.Style=[fsItalic,fsUnderline] then begin RichEdit1.SelAttributes.Style:=[fsItalic]; end else if RichEdit1.SelAttributes.Style=[fsBold,fsItalic,fsUnderline] then begin RichEdit1.SelAttributes.Style:=[fsBold,fsItalic]; end; end; |
 Das ist meine Source für den "Fett", "Kursiv" und "Unterstrichen"-Befehl... Meint ihr nicht auch, dass es so etwas umständlich ist
Meine Bitte: Was kann ich an dieser Source ändern, das sich kürzer und trotzdem genauso effektiv ist wie die alte Version.
Außerdem noch eine andere Frage: Könnt ihr mir bitte sagen, wie die Source zum "aktivieren" der Bullets heißt? (Im Delphi-Sample bin ich nicht wirklich schlau geworden...  )
thx
_________________ cu daniel
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: Fr 12.09.03 16:52
hallo,
du kannst den zustand down oder pressed deines speedbuttons ausnutzen. Und dann geht das einfach mittels
Delphi-Quelltext 1: 2: 3: 4:
| if Speedbuttonfuerbold.down then richedit1.selattributes.style := richedit1.selattributes.style - fsBold else richedit1.selattributes.style := richedit1.selattributes.style + fsBold; |
Gruß
Ken
_________________ Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 17:06
thx, aber if eingeben and compilieren then
[Fehler] main.pas(556): Operator ist auf diesen Operandentyp nicht anwendbar
[Fehler] main.pas(557): Inkompatible Typen
Edit: Der Fehler kommt jetzt nicht mehr, aber er hebt das Fett nicht mehr auf... Kann das auch dran liegen, dass der Button gar nicht "down" geht?
_________________ cu daniel
Zuletzt bearbeitet von danielpt am Fr 12.09.03 17:16, insgesamt 1-mal bearbeitet
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 12.09.03 17:09
Hi!
habe es mal mit einem Label gemacht:
Delphi-Quelltext 1: 2: 3:
| if fsBold in Label1.Font.Style then Label1.Font.Style := Label1.Font.Style - [fsBold] else Label1.Font.Style := Label1.Font.Style + [fsBold]; |
MfG
Peter
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 17:13
Deins funktioniert auch, aber es wird dann ALLES fett oder ALLES "entfettet"... (Oder wie sagt man sonst dazu?)
_________________ cu daniel
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 12.09.03 17:21
Irgendwie war ich davon ausgegangen, dass es klar ist, dass Du das auf die SelAttributes anwenden musst.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 17:24
sorry  das hab vergessen anzupassen...  Aber jetzt gehts...
thx
Zur 2. Frage: Könnt ihr mir bitte sagen, wie die Source zum "aktivieren" der Bullets heißt? (Im Delphi-Sample bin ich nicht wirklich schlau geworden... )
_________________ cu daniel
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 12.09.03 17:29
Kann sein, dass ich gerade schwer von Begriff bin, aber welches Bullet meinst Du?
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 17:33
 <-- Das da!
Ich denke mal, die Dinger heißen anders, oder? 
_________________ cu daniel
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 12.09.03 17:42
Irgendwie weiß ich immer noch nicht, was Du meinst. Wo sollen diese Bullets denn zu sehen sein? Oder willst Du das Symbol irgendwo haben? *total verwirrt*
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 17:58
okay, nochmal ganz von vorne:
Mach mal "WordPad" auf auf klicke auf  und genau was dann passiert, will ich gerne in meinem Prog auch haben...
Alles klar
pl. help! 
_________________ cu daniel
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 12.09.03 18:06
Ach, Du meinst eine Aufzählung.
Dieses Beispiel habe ich aus der Delphi-Hilfe rauskopiert und es zeigt eigentlich ziemlich gut, wie man das macht:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| with TRichEdit.Create(Self) do begin Parent := Self; Align := alClient; Lines.Clear; Paragraph.Numbering := nsBullet; Lines.Add('Introduction'); Lines.Add('New members to our team'); Lines.Add('New Budget discussion'); Lines.Add('Facilities'); Lines.Add('Q & A'); Paragraph.Numbering := nsNone; Paragraph.Alignment := taCenter;
Lines.Add(''); Lines.Add('Suggested Topics:'); Lines.Add(''); Paragraph.Alignment := taLeftJustify; Paragraph.FirstIndent := 10; Lines.Add(''); Lines.Add('Parking lot repair'); Lines.Add('Cost overruns'); end; |
MfG
Peter
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 18:33
Irgentwas funktioniert da bei mir nicht... Er löscht jedes Mal den ganzen Text, wenn ich auf den "aufzählungs"-button klicke... 
_________________ cu daniel
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Fr 12.09.03 19:28
| danielpt hat folgendes geschrieben: | Irgentwas funktioniert da bei mir nicht... Er löscht jedes Mal den ganzen Text, wenn ich auf den "aufzählungs"-button klicke...  |
das kommt davon, wenn man alles bloß kopiert anstatt sich die befehle mal 3 Sek in Ruhe zu betrachten . Es ist halt ein Beispiel und in dem Beispiel werden halt mit Lines.clear erstmal alles gelöscht und dann werden ein paar Aufzählungszeilen hinzugefügt.
Mfg Frank
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Fr 12.09.03 20:16
| Zitat: | | das kommt davon, wenn man alles bloß kopiert anstatt sich die befehle mal 3 Sek in Ruhe zu betrachten . Es ist halt ein Beispiel und in dem Beispiel werden halt mit Lines.clear erstmal alles gelöscht und dann werden ein paar Aufzählungszeilen hinzugefügt. |
Ich hab mir das Ding sehrwohl durch gelesen!  Und ich hab auch das Lines.Clear rausgeschmissen... Es geht aber trotzdem nicht! 
_________________ cu daniel
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Fr 12.09.03 20:56
| danielpt hat folgendes geschrieben: | Und ich hab auch das Lines.Clear rausgeschmissen... Es geht aber trotzdem nicht!  |
alos bei mir geht das. selbst wenn ich in irgendeine zeile per buttonklick
Delphi-Quelltext 1:
| RichEdit1.Paragraph.Numbering := nsBullet; |
aufrufe, wird die zeile als Aufzählung dargestellt.
Gugg dir auch mal das Borland-demo Richedit im Demo-Verzeichnis an. da werden fast alle Funktionen angesprochen.
Mfg frank
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Sa 13.09.03 07:02
| Zitat: | | Gugg dir auch mal das Borland-demo Richedit im Demo-Verzeichnis an. da werden fast alle Funktionen angesprochen. |
Die haben in dem Beispiel aber "ToolButton" und keine "Speedbutton", außerdem gibts da so viele extere Variablen...
Bei mir ist es jetzt so, dass er die Bullets anzeigt, aber nicht wieder wegmacht... Es wird, dass wie Delphi endlich in Informatik haben... 
_________________ cu daniel
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Sa 13.09.03 08:00
| danielpt hat folgendes geschrieben: |
Die haben in dem Beispiel aber "ToolButton" und keine "Speedbutton", außerdem gibts da so viele extere Variablen...
Bei mir ist es jetzt so, dass er die Bullets anzeigt, aber nicht wieder wegmacht... Es wird, dass wie Delphi endlich in Informatik haben...  |
Das solltest du aber auch alleine hinbekommen  Du mußt die aufzählung natürlich auch wieder aufheben (Siehe online-Hilfe) In dem demo wird eine einzeilige Variante gezeigt, die du übernehmen kannst. Die arbeiten dort mit Tnumberingstyle. Wenn dir das vielleicht mit aufzählungstypen zu hoch ist, ist das hier eine verständliche Variante:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.SpeedButton1Click(Sender: TObject); begin if Speedbutton1.Down then richedit1.Paragraph.Numbering := nsBullet else richedit1.Paragraph.Numbering := nsnone; end; |
ob du mit Toolbuttons oder speedbuttons arbeitest, spielt doch für für diesen Zweck gar keine Rolle.
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
danielpt 
      
Beiträge: 81
Windows 2000 Professional SP4
D6 Personal
|
Verfasst: Sa 13.09.03 09:40
Das mit dem "down" funktioniert aber irgentwie nie... Liegt das vielleicht daran, dass ich keinen ToolButton hab, sondern einen SpeedButton?! Er macht jetzt jedenfalls nichts mehr... 
_________________ cu daniel
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Sa 13.09.03 09:47
| danielpt hat folgendes geschrieben: | Das mit dem "down" funktioniert aber irgentwie nie... Liegt das vielleicht daran, dass ich keinen ToolButton hab, sondern einen SpeedButton?! Er macht jetzt jedenfalls nichts mehr...  |
Ich gebs auf.
Wenn du mal richtig mein Bespiel liest, hab ich auch extra ein speedbutton verwendet.
Aber heut ist ein komischer Tag. In meiner kleinen Glaskugel sind heute gute Bilder drin.
Ich geh jetzt mal davon aus, daß du den Speedbutton nicht richtig verwendest.
Er wird/bleibt nicht eingerastet dargestellt wenn du ihn drückst oder?
setze den Groupindex des Buttons auf >1 und allowup auf true (Siehe Onlinehilfe)
Mfg Frank
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|