AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Icon aus ImageList ins StringGrid laden!
Thema durchsuchen
Ansicht
Themen-Optionen

Icon aus ImageList ins StringGrid laden!

Ein Thema von Alterauge · begonnen am 21. Dez 2013 · letzter Beitrag vom 4. Aug 2014
Antwort Antwort
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#1

Icon aus ImageList ins StringGrid laden!

  Alt 21. Dez 2013, 09:05
Hallo,

habe da noch eine Frage !

1.) habe ein StringGrid
2.) habe eine ImageList

So, wenn im StringGrid sagen wir mal:

if StringGrid1.Cells [1, StringGrid1.FixedRows] ='Eingangthen begin // steht Dann möchte ich gerne in die 6 Spalte ein Icon zeichen!


Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if StringGrid1.Cells [1, StringGrid1.FixedRows] ='Eingangthen begin


  end;
end;
Was muss ich machen?
Finde leider nur Beispiele für ein DBGrid!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#2

AW: Icon aus ImageList ins StringGrid laden!

  Alt 21. Dez 2013, 09:59
Delphi-Quellcode:
var
  X, Y: Integer;
begin
  if (ACol = 6) and (ARow >= StringGrid1.FixedRows) and (StringGrid1.Cells [1, ARow] ='Eingang') then begin
    { eventuell noch zentrieren }
    X := Rect.Left;
    Y := Rect.Top;
    ImageList1.Draw(StringGrid1.Canvas, X, Y, 0, true); { 0 = erstes Image in ImageList }
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Icon aus ImageList ins StringGrid laden!

  Alt 21. Dez 2013, 15:32
Hallo Uwe Raabe,
danke läuft !

Wie mache ich das mit dem zentrieren?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#4

AW: Icon aus ImageList ins StringGrid laden!

  Alt 21. Dez 2013, 20:13
Wie mache ich das mit dem zentrieren?
Delphi-Quellcode:
var
  P: TPoint;


    P := CenterPoint(Rect);
    X := P.X - ImageList1.Width div 2;
    Y := P.Y - ImageList1.Height div 2;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Icon aus ImageList ins StringGrid laden!

  Alt 4. Aug 2014, 16:37
hallo Uwe,

habe noch ein Problem, mit dem zentrieren
Miniaturansicht angehängter Grafiken
uwe.png  
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Icon aus ImageList ins StringGrid laden!

  Alt 4. Aug 2014, 17:04
wohl eher so:
(Klammern)

Delphi-Quellcode:
     X := (P.X - ImageList1.Width) div 2;
     Y := (P.Y - ImageList1.Height) div 2;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#7

AW: Icon aus ImageList ins StringGrid laden!

  Alt 4. Aug 2014, 17:47
wohl eher so:
(Klammern)

Delphi-Quellcode:
     X := (P.X - ImageList1.Width) div 2;
     Y := (P.Y - ImageList1.Height) div 2;

Wohl eher nicht! Die linke Koordinate des Image bekommt man, wenn man vom Mittelpunkt die halbe Breite abzieht.

Beispiel: Rect(10, 10, 210, 210), ImageWidth = 100, ImageHeight = 100

P = CenterPoint(Rect) = (110, 110)
X = P.x - ImageWidth/2 = 110 - 50 = 60

Linke Kante des Bilds ist dann bei 60, was 50 von der linken Kante des Rechtecks (10) entfernt ist.
Rechte Kante des Bilds ist dann auf 60 + 100 = 160, was genau 50 von der rechten Kante (210) entfernt ist.

Mit deiner Formel käme man auf:

X = (P.x - ImageWidth)/2 = (105 - 100)/2 = 2.5

Damit liegt die linke Kante des Bilds schon mal außerhalb des Rechtecks...


was irgendwie nicht richtig aussieht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Icon aus ImageList ins StringGrid laden!

  Alt 4. Aug 2014, 17:52
stimmt, sorry - du hast recht - das war zu schnell getippt
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  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 13:51 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