AGB  ·  Datenschutz  ·  Impressum  







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

Wichtig!!! Fragen zu StringGrid

Ein Thema von Madeleine · begonnen am 27. Dez 2002 · letzter Beitrag vom 27. Dez 2002
Antwort Antwort
Seite 1 von 2  1 2      
Madeleine

Registriert seit: 27. Dez 2002
31 Beiträge
 
#1

Wichtig!!! Fragen zu StringGrid

  Alt 27. Dez 2002, 13:37
Hi,
es ist ganz doll wichtig und ich baue auf eure Hilfe!
Problem: Ich möchte das man auf ein bestimmtes Feld eines StringGrid klicken kann und genau in diesem Feld erscheint ein Bitmap! Dieses Feld darf sich dann nicht mehr ändern lassen; wenn man auf ein anderes Feld klickt, soll dort noch ein Bitmap erscheinen(dabei darf das andere aber nicht verschwinden!).
Selbst nach tausend Versuchen klappt es bei mir nicht und ich würde mich sehr über Hilfe freuen!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 27. Dez 2002, 14:03
Hört sich an wie das alte Memory...

Schau Dir mal das Ereigniss OnDrawCell an.

Wie und wo hast Du definiert, in welcher Zelle welches Bild erscheint. Wo spiecherst Du, welche Bilder angezeigt werden und welche verdeckt sind?
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Madeleine

Registriert seit: 27. Dez 2002
31 Beiträge
 
#3

StringGrid

  Alt 27. Dez 2002, 14:09
es handelt sich ja um 4 gewinnt,
das Problem ist, das ich mit OnMouseUp und MouseCoord nicht weiterkomme, das Bitmap wird einfach nicht gezeichnet und abspeichern tu ich das ganze in verschiedene arrays, wenn es das ist, was du meinst!
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#4
  Alt 27. Dez 2002, 15:04
Hallo Madeleine, wie versuchst du denn zu zeichnen?
So funktionierts:

Delphi-Quellcode:
var
  r: TRect;
begin
  r := StringGrid1.CellRect(ACol,ARow);
  //ACol und ARow stehen für die Koordinaten der Zelle
  //hiermit weist du r das Rechteck auf der Zeichenfläche des StringGrids zu
  StringGrid1.Canvas.Draw(r.Left,r.Top,ABitmap);
  //Zeichnet das Bitmap "ABitmap" in die Betreffende Zelle
  //Vorsicht wenn das Bild Größer als die Zelle ist
end;
Gruß, Sebastian
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 27. Dez 2002, 15:14
Moin Madeleine,

warum nimmst Du eigentlich ein StringGrid und kein DrawGrid?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Madeleine

Registriert seit: 27. Dez 2002
31 Beiträge
 
#6
  Alt 27. Dez 2002, 15:31
hi, und erstma danke
ich zeichne es auch so, aber ich weiß nur nicht wie man an die Row, Col einer Zelle kommt, wenn man diese anklickt.
Außerdem nehme ich ein Stringgrid, weil soviel ich weiß, gibt es da keine großen Unterschiede zwischen Draw und Stringgrid.
Bin ganz verzweifelt!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 27. Dez 2002, 15:34
Moin Madeleine,

mit der Methode MouseToCell geht das eigentlich wunderbar.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Madeleine

Registriert seit: 27. Dez 2002
31 Beiträge
 
#8
  Alt 27. Dez 2002, 15:39
Gibt es diese MousetoCell-Methode nur bei DrawStrings? Wie rufe ich die denn auf? Habe es schon mit MouseCoord und MouseUp versucht, davon habe ich noch nix gehört....
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#9
  Alt 27. Dez 2002, 15:43
Moin Madeleine,

ich kann jetzt gerade nicht unmittelbar nachschauen (Plattendefekt ), muss das also mal aus der Erinnerung beantworten:

Der Aufruf könnte innerhalb einer Ereignisroutine erfolgen, in der die Mouse Koordinaten im Stringgrid übergeben werden (ich komm' gerade nicht auf den Namen.

Und dort dann StringGrid1.MouseToCell(x,y,ACol,ARow) wobei auf Grund der Mousekoordinaten x und y die Zellenkoordinaten errechnet werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#10
  Alt 27. Dez 2002, 15:49
Hi @ll

Ich glaub es geht auch so...
Delphi-Quellcode:
    with StringGrid1 do
  begin
    ShowMessage(Cells[0, Col] + Cells[1, Row]);
  end;
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:26 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