Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TDrawGrid Problem (https://www.delphipraxis.net/4596-tdrawgrid-problem.html)

der_rocka 5. Mai 2003 19:36


TDrawGrid Problem
 
Hallo, weiß nicht ob dieses Forum richtig ist für dieses Thema, aber egal.
Ich habe ein Problem mit dem TDrawGrid, und nicht besonders viel Ahnung von Delphi, allerdings ist es verdammt wichtig, wenn man mir da helfen könnte...

Ich weiß nicht wie man was beim DrawGrid in die Zellen schreibt.
Beim StringGrid geschieht dies ja durch [Name].cells[1,2]:=' TEXT ';

Wie aber mache ich das beim DrawGrid.

Vielen Dank für eure Hilfe.

mfg der basti

Keldorn 5. Mai 2003 19:38

Hallo
wieso nimmst du denn ein Drawgrid, wenn du texte reinschreiben willst?

edit: in objectpascal bist du bestimmt verkehrt :wink:

Mfg Frank

der_rocka 5. Mai 2003 19:44

Ich möchte dort keinen Text reinpacken, sondern kreise, bilder.
da ich eine vier gewinnt simulation schreiben will.

mfg der basti

Keldorn 5. Mai 2003 19:53

Zitat:

Zitat von der_rocka
Ich möchte dort keinen Text reinpacken, sondern kreise, bilder.
da ich eine vier gewinnt simulation schreiben will.

mfg der basti

und was hat das jetzt mit Texten zu tun *verwirrt bin*

wenn du was reinmalen/schreiben willst geht dass über das ondrawcell-ereignis. Such mal im Forum, solltest was finden dazu.
Du mußt dir aber dann eh eine Grundlage Z.B. ein Array schaffen, in dem du deine Felder verwaltest. Alternativ kannst du ein Stringgrid nehemen und die Felder dort belegen und das selber zeichnen übernehmen. Du fragst dann dort die Felder ab und zeichnest entsprechend. Beim Klick auf eine Zelle setzt du den Zellibnhaltz z.B. auf Blau und beim Zeichnen fragst du dann den Zellinhalt ab und zeichnest dann halt nen blauen Kreis.

Mfg frank

Tiefflieger 20. Mai 2003 18:06

warum über das ereignis OnDrawCell und nicht über das ereignis On(Dbl)Click ?
gibt es eigentlich irgendeine chance, was ins drawgrid zu malen (und es auch angezeigt zu lassen, selbst wenn man weiter im drawgrid rumklickt), wenn "defaultdrawing" auf true steht?

Ich bastle grad auch an einem vier gewinnt spiel rum und beschäftige mich jetzt erstmal mit der grafik von dem spiel, sprich wenn das programm kreise in mein drawgrid malt, bin ich glücklich *g*
ich hab das folgendermaßen realisiert, ist das vielleicht umständlich oder so, gibts nen trick, wie man das mit OnDrawCell leichter machen kann?
Delphi-Quellcode:
procedure TVier_Gewinnt.DG_SpielfeldDblClick(Sender: TObject);

var zeile, spalte,
    oben, links  :integer;
begin
  //welcher Kasten ist markiert?
  spalte := DG_Spielfeld.Selection.Left;
  zeile := DG_Spielfeld.Selection.Top;
 
  //welche Koordinaten hat der Kasten?
  oben  := DG_Spielfeld.CellRect(zeile,spalte).Top;
  links := DG_Spielfeld.CellRect(zeile,spalte).Left;

  //kreise malen (nach zahlen *g*)
  DG_Spielfeld.Canvas.Ellipse(oben+5,links+5,oben+45,links+45);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 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