Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Checkbox in StringGrid laden? (https://www.delphipraxis.net/165763-checkbox-stringgrid-laden.html)

Lyan 15. Jan 2012 13:14

Delphi-Version: 2010

Checkbox in StringGrid laden?
 
Hallo,

ich möchte zur Laufzeit eine Checkbox in ein StringGrid Laden. Da ich keine Möglichkeit gesehen habe, die zu realisieren hat ein bekannter gesagt ich solle einfach ein screenshot von den Checkboxen machen und diese dann reinzeichenen im OnDrawCell Ereignis.


So, diese Methode fällt weg weil:

Ich muss ermitteln in welcher Zelle ich mich grade mit der Maus befinde und dann dort ein "OnMouseOver" Ereignis abspielen.


Also wenn ich mit der Maus über eine Zelle fahre, soll zu jeder Zelle quasi ein "OnmouseOver" Ereignis ausgeführt werden, da es aber nur OnMouseEnter gibt, was ja nu einmal beim Eintreten in des Stringgrids ausgeführt wird, steh ich jetzt ratlos hier.

Aus dem Grund wollte ich eben überall eine Checkbox reinladen, dort hat dann jede Checkbox ihre eigenes OnMouseEnter event und gut ist :)


Hat jemand eine Idee wie man das machen könnte?


MfG

lyan

DeddyH 15. Jan 2012 13:25

AW: Checkbox in StringGrid laden?
 
Meinst Du etwas in dieser Art? http://www.swissdelphicenter.ch/de/showcode.php?id=406

Coffeecoder 15. Jan 2012 13:42

AW: Checkbox in StringGrid laden?
 
Zitat:

Zitat von DeddyH (Beitrag 1146044)

Hey DeddyH, die Frage hatte ich zwar nicht gestellt, bin grad auf diesen Thread gestolpert und genau das habe ich auch gesucht. Danke ;)

DeddyH 15. Jan 2012 13:50

AW: Checkbox in StringGrid laden?
 
Keine Ursache ;)

Lyan 15. Jan 2012 13:51

AW: Checkbox in StringGrid laden?
 
Zitat:

Zitat von DeddyH (Beitrag 1146044)

Zitat:

Zitat von DeddyH (Beitrag 1146044)

ne, also ich versuchs mal ausm Kopf grad zu schreiben wie ichs gerne hätte von der theorie, das Projekt ist auf einem adneren PC...:

Delphi-Quellcode:
var i,aCol,aRow : Integer;
    aCheckbox: array[1..176] of TCheckbox;
begin
  aCol := 0;
  aRow := 0;
  for i := 0 to 175 do
  begin
    aCheckbox[i] := TCheckbox.Create(self);
    aChecbox[i].caption := 'blabla';
    Stringgrid1.cells[aCol,aRow] := aCheckbox[i];{ <== Geht natürlich nicht :D}
    {inc(aCol);
    if aCol = 5 then
    begin
      aCol := 0;
      inc(aRow);}
    end;
  end;
end;
Ja also so wäre es ein Traum :D
Der Code so oben ist jetzt nicht aus dem Projekt, dort habe ich noch paar rechnungen drin das es auch richtig funktioniert.

Und dann kam ein bekannter und meinte ich soll die Checkboxen in eine ImageList laden und diese dann per copyRect in jede einzelne Zelle im OnDrawCell Ereignis zeichnen lassen...

Aber wie gesagt, geht unte rmeinen Bedingungen nicht, da ich ein OnMouseEnter/Over Ereignis für jede einzelne Zelle/Checkbox brauche :)


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