Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Design von visuellen Objekten ändern (https://www.delphipraxis.net/56895-design-von-visuellen-objekten-aendern.html)

Masterj44 12. Nov 2005 22:32


Design von visuellen Objekten ändern
 
Hallo,
ich wollt wissen wie man z.B. die farbe und design von objekten ändern kann.
Also als Beispiel: Ich benutze ein listbox und möchte die scrollbar an der seite verändern, eigentlich möchte ich es mit einem bild füllen, doch mir würde es auch reichen wenn ich weiß wie man die Farbe änder kann.

Ich hoffe ihr könnt mir weiter helfen.

3_of_8 12. Nov 2005 22:44

Re: Design von visuellen Objekten ändern
 
AFAIK benutzt das einen API Aufruf, und da kannst du nicht so einfach die Farbe ändern. Dazu musst du schon eine eigene Klasse basteln.

Masterj44 12. Nov 2005 22:51

Re: Design von visuellen Objekten ändern
 
Heißt das ich muss eine eigene Listbox erstellen?
Ich kenn mich da nicht so gut aus,
wie Aufwändig ist es denn ne eigene Klasse zu schreiben?
Ich will ja nur die scrollbar an der seite verändern,
gibt es da eine möglichkeit die klasse zu kopieren oder so was.

glkgereon 12. Nov 2005 22:53

Re: Design von visuellen Objekten ändern
 
Zitat:

Zitat von Masterj44
Heißt das ich muss eine eigene Listbox erstellen?
Ich kenn mich da nicht so gut aus,
wie Aufwändig ist es denn ne eigene Klasse zu schreiben?
Ich will ja nur die scrollbar an der seite verändern,
gibt es da eine möglichkeit die klasse zu kopieren oder so was.

du müsstest deine Klasse von der TListBox ableiten und das OnPaint überschreiben.

Delphi-Quellcode:
type
  TMyListBox = class(TListBox)
  public
    procedure RePaint; override;
  end;

implementation

procedure TMyListBox.RePaint; override;
begin
  inherited RePaint;
  Self.Canvas.Rectangle(Width-20,0,Width,Height);
end;
Das sollte so in etwa gehen...
Die 20 steht hier für die Breite des ScrollBalkens

3_of_8 12. Nov 2005 22:57

Re: Design von visuellen Objekten ändern
 
Ja, das ist SEHR aufwendig.

Du musst halt Ereignisse, Eigenschaften, Methoden usw. definieren.

Aber du kannst ja auch mal schauen, ob du irgendwo ne fertige Koponente findest.

Masterj44 12. Nov 2005 23:04

Re: Design von visuellen Objekten ändern
 
Oh, gut Ich dachte schon ich muss ein neues Objekt erstellen.


Und wie macht man das, dass sich (das Bild) wie der scrollbalken
bewegt.

Bevor ich es noch vergesse:

Danke glkgereon, dass du so schnell antworten konntest,
hätte nicht gedacht das so schnell geht.

3_of_8 12. Nov 2005 23:07

Re: Design von visuellen Objekten ändern
 
Du musst per API herausfinden, wie weit die Scrollbox gescrollt ist und maximal gescrollt werden kann, und nach diesen Werten dann einen Scrollbalken zeichnen.

glkgereon 12. Nov 2005 23:10

Re: Design von visuellen Objekten ändern
 
Zitat:

Zitat von Masterj44
Oh, gut Ich dachte schon ich muss ein neues Objekt erstellen.


Und wie macht man das, dass sich (das Bild) wie der scrollbalken
bewegt.

Ui, hier wird es etwas komplexer :)

Ehrlich gesagt weiss ich gar nicht ob das geht.
afaik wird die Listbox doch mithilfe eines WinApi-Typs erzeugt...Und da an Werte wie zB die Position des ScrollBalkens dranzukommen....Keine Ahnung
Ich räume mal das Feld, für unsre Spezialisten :)

Mein Code da oben kann nur was drüberzeichnen ;)

3_of_8 12. Nov 2005 23:11

Re: Design von visuellen Objekten ändern
 
Das geht irgendwie mit ListBox.Perform. Ich wühl mal kurz in alten Beiträgen.

Masterj44 12. Nov 2005 23:13

Re: Design von visuellen Objekten ändern
 
u nd wie macht man das :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr.
Seite 1 von 3  1 23      

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