AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Neue Dialogklasse: TColorForm (Alpha-Version)
Thema durchsuchen
Ansicht
Themen-Optionen

Neue Dialogklasse: TColorForm (Alpha-Version)

Ein Thema von alcaeus · begonnen am 29. Mai 2004 · letzter Beitrag vom 2. Jun 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von alcaeus
alcaeus
Registriert seit: 11. Aug 2003
So, ich habe jetzt die Alpha-Version meiner Dialogklasse fertiggestellt: TColorForm. Bitte lest den Beitrag hier bis zum Ende durch, es werden einige Informationen gegeben.

Was ist TColorForm?
TColorForm ist eine Formularklasse, die einen farbigen Hintergrund mit Rand anbietet, und nicht nur einen einfärbigen.

Und wieso der Aufwand für so einen Hintergrund?
Ich benötige das Ganze in meinen Programmen. Der Grund wieso diese Klasse hier landet, ist einfach: Ich habe nicht viele Testmöglichkeiten, und deshalb bitte ich euch, mir Erfahrungsberichte zu geben.

Was ist das Problem mit der Klasse?
Wie bereits erwähnt habe ich nur begrenzte Testmöglichkeiten. Auf meinem WinXP (mit neuem XP-Stil) und D7 Ent lief das Ganze wunderbar.

Wie verwende ich TColorForm?
Die beiden gezippten Dateien müssen einfach ins Projektverzeichnis oder in das Lib-Verzeichnis von Delphi gegeben werden. Im Programm sind folgende Anpassungen nötig:
Die Unit QColorForm muss in das Programm eingebunden werden. Dies muss im interface-Teil geschehen.
Die Klassendeklaration muss angepasst werden:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
wird geändert in:
Delphi-Quellcode:
type
  TForm1 = class(TColorForm)
Zusätzlich muss in den Behandlungsroutinen für OnCreate und OnResize gegebenenfalls noch die Zeile
inherited; am Anfang hinzugefügt werden.

Ich hab alles gemacht, wieso sehe ich nichts?
Dazu werden die in diesen Bereich beschriebenen Methoden benötigt:

procedure DisableBackground;
Mit dieser Prozedur wird der farbige Hintergrund deaktiviert, die Originalfarbe des Formulars wird wiederhergestellt.

procedure DrawBackground;
Diese Prozedur zeichnet den Hintergrund neu.

procedure EnableBackground;
EnableBackground kann verwendet werden, nach einem Aufruf von DisableBackground den farbigen Hintergrund wieder zu aktivieren.

function GetBGColor: TColor;
Diese Funktion liefert die Hintergrundfarbe zurück.

function GetBorderColor: TColor;
Diese Funktion liefert die Randfarbe zurück.

function GetBorderWidth: Integer;
Diese Funktion liefert die Randbreite zurück.

procedure InitBackground(BGColor, BorderColor: TColor; BorderWidth: Integer);
Diese Prozedure initalisiert den Hintergrund. BGColor ist die Hintergrundfarbe, BorderColor die Randfarbe und BorderWidth die Randbreite in Pixel. Es empfiehlt sich, diese Prozedur in der Behandlungsroutine für OnCreate aufzurufen.

procedure SetBGColor(Color: TColor);
Diese Prozedure setzt die Hintergrundfarbe und zeichnet den Hintergrund neu.

procedure SetBorderColor(Color: TColor);
Diese Prozedure setzt die Randfarbe und zeichnet den Hintergrund neu.

procedure SetBorderWidth(Width: Integer);
Diese Prozedure setzt die Randbreite und zeichnet den Hintergrund neu.

Wie sieht das Ganze aus?
Seht auch dazu den angehängten Screenshot an.

Welche Probleme sind bekannt?
Ich weiß dass es beim Zeichnen zu einem Flimmern kommt. Dieses Problem werde ich aber so schnell wie möglich beheben.
Außerdem zählt zur Zeit der Rand auch noch zum Clientbereich des Formulars, das heißt dass Komponenten darübergezeichnet werden können. Auch dieses Problem werde ich versuchen bald loszuwerden.

Da war doch noch was...
Die Klasse ist eine Alpha-Version, weshalb auch beim Start eines Programms, das TColorForm verwendet, eine Infobox angezeigt wird. Sobald die Klasse fertiggestellt ist, werdet ihr sie natürlich gleich als erstes erhalten.

[edit]Sorry, falsche Version hochgeladen.[/sorry]
Miniaturansicht angehängter Grafiken
tcolorform.jpg  
Angehängte Dateien
Dateityp: zip tcolorform_654.zip (4,0 KB, 21x aufgerufen)
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
 
Benutzerbild von alcaeus
alcaeus
 
#11
  Alt 2. Jun 2004, 15:17
[PUSH]
Hat noch niemand das Programm getestet? Anscheinend soll ich ab Herbst auf Win2k/D6 Pro entwickeln, habe aber dazu noch keine Testmöglichkeit. Gibt es hier irgendjemanden der das bitte für mich testen könnte?

Thx and Greetz
alcaeus
Andreas B.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 14:25 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