BgColor

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

BgColor

Beitrag von hbr »

Hallo,
kann mir jemand sagen, wie ich zur Laufzeit die Hintergrundfarbe von dem HtmlPanel wechseln kann?

Mit "IpHtmlPanel1.BgColor" wird sie geändert, aber man kann die Farbe nicht mehr zurücknehmen.

Da man z.B bei HTML-Tabellen keine Farben einstellen kann und die Tabellen auch nicht transparent sind, wollte ich die weißen Tabellen einfärben.
Das geht auch mit dem besagten Befehl, aber wenn ich die Seite Drucken will muss ich ja wieder Weiß einstellen.

kennt hier jemand eine Lösung?

Gruß
hbr

RugiaArt
Beiträge: 41
Registriert: Do 11. Okt 2012, 18:50
OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
CPU-Target: 32Bit
Wohnort: Rügen
Kontaktdaten:

Re: BgColor

Beitrag von RugiaArt »

hi! also ich habe es mit html tags gelöst und es funktioniert auch:

Code: Alles auswählen

 
var 
html:String;
html_window:TIPHtmlPanel;
begin
  //create html_window usw...
  html += '<html><body bgcolor="#44ffff">';
  html += '<table style="background-color:#556677"><tr><td>Text</td></tr></table>';
  html += '</body></html>';
  html_window.SetHtmlFromStr(html);
  html.Refresh;
end;
 
wenn du den code änderst und dann aktualisierst dann kannst du jederzeit die farben ändern, ausserdem sind die tabellen transparent, solange du keine hintergrundfarbe gesetzt hast.

es wird (bei mir zumindest) immer in schwarzweiss gedruckt, also bringen die farben nur die schattierungen mit rein, vll ist es bei jemanden anders..

mfg RugiaArt

hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

Re: BgColor

Beitrag von hbr »

Hallo,
verstehe ich nicht!
RugiaArt hat geschrieben:hi! also ich habe es mit html tags gelöst und es funktioniert auch:

wenn du den code änderst und dann aktualisierst dann kannst du jederzeit die farben ändern, ausserdem sind die tabellen transparent, solange du keine hintergrundfarbe gesetzt hast.

es wird (bei mir zumindest) immer in schwarzweiss gedruckt, also bringen die farben nur die schattierungen mit rein, vll ist es bei jemanden anders..

mfg RugiaArt
Bei html.Refresh wird gemoppert, soll das den gehen, einen String Refresh?
Und was geschieht mit dem String HTML? wo wird der übergeben?

Gruß

RugiaArt
Beiträge: 41
Registriert: Do 11. Okt 2012, 18:50
OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
CPU-Target: 32Bit
Wohnort: Rügen
Kontaktdaten:

Re: BgColor

Beitrag von RugiaArt »

also wenn ich deine frage richtig verstanden habe dann willst du zur laufzeit die hintergrundfarben vom inhalt im html panel ändern, also die antwort ist:

du kannst die hintergrundfarbe im html tag: <body bgcolor="red"> ändern,
also musst du jedesmal bevor du das html panel aktualisierst das im html quelltext ändern

es ist doch ein HTML-Browser also musst du dies mit html-quelltext speisen, und dort kannst du eben die eigenschaften ändern


und nochmal ein beispiel:

Code: Alles auswählen

 
var 
  meinHTMLquelltext:string;
  meinHTMLPanel:TIPHtmlPanel;
begin
  meinHTMLPanel := TIPHTMLPanel.Create();
 
  //standard-hintergrundfarbe
  meinHTMLquelltext := '<html><body bgcolor="#ffee44"> DEIN INHALT </body></html>';
  html_meinHTMLPanel .SetHtmlFromStr(meinHTMLquelltext );
  meinHTMLPanel.Refresh;
 
  //jetzt kannst du die farbe nochmal aendern
  meinHTMLquelltext := '<html><body bgcolor="#ff0000"> DEIN INHALT </body></html>';
  html_meinHTMLPanel .SetHtmlFromStr(meinHTMLquelltext );
  meinHTMLPanel.Refresh;
 
 
end;
 

lg RugiaArt

Antworten