AGB  ·  Datenschutz  ·  Impressum  







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

drawgrid

Ein Thema von missy · begonnen am 4. Apr 2005 · letzter Beitrag vom 4. Apr 2005
Antwort Antwort
missy

Registriert seit: 4. Apr 2005
4 Beiträge
 
#1

drawgrid

  Alt 4. Apr 2005, 15:29
Hallo,
ich habe ein Problem und zwar habe ich ein drawgrid, und ich möchte wenn man eine zelle mit der maus anklickt dort eim bild erscheint, aber halt genau da wo die maus druf klickt.
hab schon was probeirt, aber entweder er zeichnet das bitmap sofort hinein oder es geht gar nicht hab da was von selectCell gelesen, aber irgednwie kappt das alle net- könnte mir bitte wer helfen?

also das was ich habe :

Delphi-Quellcode:
 Procedure TForm1.DrawGrid1ondrawcell(Sender:TObject; ACol, ARow: Integer;
          Rect: TRect; State: TGridDrawState);
var
  Bitmap1: TBitmap;


Begin
  Bitmap1:= TBitmap.Create;

  If(ACol = 3) and (ARow = 3) then
    BEGIN

   Bitmap1.LoadFromFile('D:\Dokumente und Einstellungen\INFORMATIK\Mein PROGRAM\Steine.bmp');
       DrawGrid1.Canvas.Draw(Rect.Left, Rect.Top, bitmap1);



          END;

  Bitmap1.Free;
end;

brauche dringend hilfe...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: drawgrid

  Alt 4. Apr 2005, 18:04
Schreibe das ganze doch in OnSelectCell.
Gruß
Hansa
  Mit Zitat antworten Zitat
missy

Registriert seit: 4. Apr 2005
4 Beiträge
 
#3

Re: drawgrid

  Alt 4. Apr 2005, 18:16
jupp hab ich schon...irgednwie klappt das nich...also er fügt die bitmap einfahc net rein....
  Mit Zitat antworten Zitat
missy

Registriert seit: 4. Apr 2005
4 Beiträge
 
#4

Re: drawgrid

  Alt 4. Apr 2005, 18:20
ich habs aber nur halb.hatte irgednwie nen brett vorm kopp
er fügt jetzt zwar bitmap ein,. aber nie auf die richtige position(nie da wo die maus hinklickt)..kann man die position nich durch den mausclick ermitteln oder so?? weil ich mein....irgednwie is das alle net so wie ich will
  Mit Zitat antworten Zitat
missy

Registriert seit: 4. Apr 2005
4 Beiträge
 
#5

Re: drawgrid

  Alt 4. Apr 2005, 18:47
mot mousetocell??? wie denn dann? ..hmm ich hab den eindruck ich diskutier mit mir allein
also...wenn mir nochmal wer helfen könnt wer ganz ganz toll
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#6

Re: drawgrid

  Alt 4. Apr 2005, 18:50
hallo missy,

einfach mal ondrawcell in der suche eingeben, das hatten wir schon so oft.

die suche sollte, bevor mann sein problem postet, immer erst benutzt werden.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: drawgrid

  Alt 4. Apr 2005, 18:53
1.) die Bitmaps sollten in FormCreate erzeugt und geladen werden
also z.B. ein Bitmap für einen grünen Stein und ein Bitmap für ein rotes Männchen.
2.) du musst dir in einem 2-dimensionalen Array merken, auf welcher Position welches bitmap anzuzeigen ist.
spielfeld : array[0..100, 0..100] of Byte;

3.) in OnDrawCell wird nur gezeichnet, sonst nix!!!
Delphi-Quellcode:
Procedure TForm1.DrawGrid1ondrawcell(Sender:TObject; ACol, ARow: Integer;
          Rect: TRect; State: TGridDrawState);
Begin
  case spielfeld[ACol, ARow] of
  0: ; // kein Bild
  1: DrawGrid1.Canvas.Draw(Rect.Left, Rect.Top, bitmapGStein);
  2: DrawGrid1.Canvas.Draw(Rect.Left, Rect.Top, bitmapRotesMann);
  end;
end;
4.) in OnSelectCell wird der Inhalt des Spielfelds geändert und die Zelle neu gezeichnet
Delphi-Quellcode:
procedure TForm1.DrawGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
var
   wert : Byte;
begin
   wert := spielfeld[ACol, ARow];
   wert := (wert+1) mod 3;
   spielfeld[ACol, ARow] := wert;
   DrawGrid1.Invalidate;
end;
Andreas
  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 03:30 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