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
BgColor
-
- 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
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
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;
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
-
- 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
Hallo,
verstehe ich nicht!
Und was geschieht mit dem String HTML? wo wird der übergeben?
Gruß
verstehe ich nicht!
Bei html.Refresh wird gemoppert, soll das den gehen, einen String Refresh?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
Und was geschieht mit dem String HTML? wo wird der übergeben?
Gruß
-
- 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
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:
lg RugiaArt
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