AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Edit bzw. ComboBox in einem StringGrid darstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Edit bzw. ComboBox in einem StringGrid darstellen

Ein Thema von Alex_ITA01 · begonnen am 27. Sep 2004 · letzter Beitrag vom 27. Sep 2004
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

Edit bzw. ComboBox in einem StringGrid darstellen

  Alt 27. Sep 2004, 08:36
Moin Moin erstmal!!!
Wollte mal fragen, ob es eine Möglichkeit gibt, z.B. ComboBox(en) und/oder Editfelder in einem StringGrid darzustellen.Also pro Zeile eine "extra" Komponente anzeigen.
Weil manche Zellen sollen nur 1/0 enthalten dürfen (CheckBox) oder nur bestimmte Strings (ComboBox-Auswahl...)

Hoffe ihr könnt mir helfen.
MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: Edit bzw. ComboBox in einem StringGrid darstellen

  Alt 27. Sep 2004, 09:21
das geht!
hoffe habe an alles gedacht!


Delphi-Quellcode:
type TfoDBEdit = class(TForm)
  ...
  procedure setRect(rec:Trect; ObjType:integer);
  ...
private
..
end;


procedure TfoDBEdit.stringgridSelectCell(Sender: TObject; ACol, ARow: Integer;
                                      var CanSelect: Boolean);
begin
  if (ACol=1) or (ARow=1) then // feld 1-1 ist checkbox
      stringgrid.setRect(CellRect(1,1));
end;

procedure TfoDBEdit.setRect(rec:Trect);
var r:TRect;
begin
  // CheckBox in stringgrid
  CopyRect(r,rec); // rec an r übergeben
  r.BottomRight:=checkbox.Parent.ScreenToClient(stringgrid.ClientToScreen(r.BottomRight));
  r.TopLeft:=checkbox.Parent.ScreenToClient(stringgrid.ClientToScreen(r.TopLeft));
  checkbox.SetBounds(r.Left,r.Top,r.Right-r.Left,r.Bottom-r.Top);
  checkbox.BringToFront
end;
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: Edit bzw. ComboBox in einem StringGrid darstellen

  Alt 27. Sep 2004, 09:33
danke das geht!!!

wozu ist ObjType:integer deklariert in der procedure? Der wird doch nie verwendet?!
MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#4

Re: Edit bzw. ComboBox in einem StringGrid darstellen

  Alt 27. Sep 2004, 09:51
das problem was ich jetzt noch habe ist, dass wenn mein eingabefokus vom StringGrid in die CheckBox "geht", dann wird die zuletzt markierte Zelle im StringGrid komplett blau gefüllt.Das will ich nicht!Also es soll so aussehen als ob der Fokus trotzdem auf dem StringGrid liegt.Bekommt man die "blaue Zelle" irgendwie "normalfarbig" ?
Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#5

Re: Edit bzw. ComboBox in einem StringGrid darstellen

  Alt 27. Sep 2004, 11:08
Zitat von Alex_ITA01:
danke das geht!!!

wozu ist ObjType:integer deklariert in der procedure? Der wird doch nie verwendet?!
MFG Alex
kannst du löschen, da das aus einem projekt kopiert ist, habs nur vergessen zu entfernen!
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#6

Re: Edit bzw. ComboBox in einem StringGrid darstellen

  Alt 27. Sep 2004, 11:33
Zitat von Alex_ITA01:
das problem was ich jetzt noch habe ist, dass wenn mein eingabefokus vom StringGrid in die CheckBox "geht", dann wird die zuletzt markierte Zelle im StringGrid komplett blau gefüllt.Das will ich nicht!Also es soll so aussehen als ob der Fokus trotzdem auf dem StringGrid liegt.Bekommt man die "blaue Zelle" irgendwie "normalfarbig" ?
Alex

hä?
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#7

Re: Edit bzw. ComboBox in einem StringGrid darstellen

  Alt 27. Sep 2004, 14:06
Delphi-Quellcode:
///////////////////////////////////////////////////////////////////////////////
// Wenn Fokus nicht beim SG, dann blaue Zelle verbergen!
//
procedure TfoDBEdit.stringgridExit(Sender: TObject);
var grdRec:TGridRect;
begin
  with grdRec do
  begin
    Top:=-1;
    Left:=-1;
    Right:=-1;
    Bottom:=-1;
  end;
  stringgrid.Selection:=grdRec;
end;


///////////////////////////////////////////////////////////////////////////////
// Objekte im Grid unsichtbar machen,
// wenn per Scroll der Bereich ausserhalb liegt
//
procedure TfoDBEdit.stringgridTopLeftChanged(Sender: TObject);
begin
  if checkbox.Visible then checkbox.Visible:=false;
end;
  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 08:27 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