AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Controls disabled zeichnen

Ein Thema von Udo · begonnen am 14. Aug 2007 · letzter Beitrag vom 14. Aug 2007
Antwort Antwort
Udo

Registriert seit: 19. Jan 2003
54 Beiträge
 
Delphi 8 Architect
 
#1

Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 18:20
Hallo zusammen

ich habe mir einen eigenen Button gebaut der von TCustomControl abgeleitet ist.
In Paint zeichen ich dann Farben, Caption oder Picture auf den Canvas.
Ich finde leider nichts wie ich das Teil disabled zeichnen kann.
Hat jemnd ne Idee wie das geht.

Grüsse
Udo
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 18:34
ich versteh dich nicht. Du zeichnest das alles selbst aber weißt nicht wie du es "disabled" zeichnen sollst? Du als derjenige der zeichnet bist doch derjenige der bestimmt wie es aussieht
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von borncrush
borncrush

Registriert seit: 18. Dez 2005
Ort: Berlin
115 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 18:36
Ich denke mal genau da liegt der Denkfehler, wenn du selbst ein Control zeichnest,
musst du auch selbst dafür sorgen, dass es "disabled" dann anders aussieht.

//edit:
Sprich änder die Schriftfarbe und sorg dafür, dass der Knopf nicht drückbar ist (visuell).

gruß
  Mit Zitat antworten Zitat
Udo

Registriert seit: 19. Jan 2003
54 Beiträge
 
Delphi 8 Architect
 
#4

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 18:52
Hallo
Da war ich wohl etwas missverständlich. Mir ist schon klar dass ichs selbst tun muss.
Ich dachte mehr an ne Grafikroutine. Ich nehme mal an Caption muss ich in Color clGrayText(oder so) zeichnen, aber wie geht das mit einem Pic. Wie lass ich ein Bitmap(kann auch png, jpg sein) disabled aussehen?
Cavas.DrawDisabled(x, y, FPicture.Graphic) sozusagen.

gruss
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 19:30
Text mit einer hellen Farbe (Hellgrau oder sogar weiss) in fett malen und danach das ganze nochmal in einer dunkleren Graufarbe (clGray) und nicht mehr fett, aber x und y um je einen pixel erhöht.
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 19:57
Ich glaube er will ein Bild (TBitmap) sozusagen "die Farbe entziehen", also es ausgrauen.

Ich würde 2 Bitmaps nehmen, 1x enabled und 1x disabled. (Oder auch 2 nebeneinander. Guck dir mal TBitBtn an. ->Glyph und GlyphCount oder so).
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 20:10
Also hab dir mal was geschrieben was dir vielleicht helfen könnte.

Delphi-Quellcode:
procedure MakeGray(ABmp: TBitmap);

  procedure SetGray(var x: PRGBQuad);
  var mitte: Byte;
  begin
    mitte := (x^.rgbBlue + x^.rgbGreen + x^.rgbRed) div 3;
    x^.rgbBlue := mitte;
    x^.rgbGreen := mitte;
    x^.rgbRed := mitte;
  end;

var i,j: Integer;
    x: PRGBQuad;
begin
  ABmp.PixelFormat := pf32Bit;
  for i:= 0 to ABmp.Height-1 do
  begin
    x := ABmp.ScanLine[i];
    for j:= 0 to ABmp.Width-1 do
    begin
      SetGray(x);
      inc(x);
    end;
  end;
  ABmp.PixelFormat := pf24Bit;
  ABmp.Modified := true;
end;

// Verwendung
MakeGray(Image1.Picture.Bitmap);
Wobei sollte/muss man eigentlich p Disposen? Dann müsste man das noch einbauen aber ansonsten gehts.
Natürlich nicht. Man will ja nicht die Bitmapdaten freigeben

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#8

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 21:21
Hallo,

der Code zeichnet Text und ein Bitmap "disabled" auf das Canvas der Form:
Delphi-Quellcode:
var s : String;
    bmp : TBitmap;
begin
  s := 'Hallo';
  DrawState(Canvas.Handle, Canvas.Brush.Handle, nil, Integer(s), 0,
            10,10,0,0,DST_TEXT or DSS_DISABLED);
  bmp := TBitmap.Create;
  try
  bmp.LoadFromFile('C:\Temp\Image.bmp');
  DrawState(Canvas.Handle, Canvas.Brush.Handle, nil, bmp.Handle, 0,
            50,10,0,0,DST_BITMAP or DSS_DISABLED);
  finally
    bmp.Free;
    end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Udo

Registriert seit: 19. Jan 2003
54 Beiträge
 
Delphi 8 Architect
 
#9

Re: Wie Controls disabled zeichnen

  Alt 14. Aug 2007, 21:58
Ich danke euch
DrawState hab ich gesucht.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:15 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