<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Farbe bei einer PickList eines DBGrids einstellbar?]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>gibt es eine Möglichkeit bei der Eigenschaft PickList eines DBGrids die Text-/Hintergrundfarbe einzustellen?</p>
<p>Der Kern des Programms ist wie folgt aufgebaut:<br />
in einem DBGrid habe ich einer Spalte eine Pickliste zugeordnet. Wenn ich auf eine Zelle dieser Spalte klicke, öffnet sich eine DropDownliste (=Pickliste) aus der ich einen Eintrag wählen kann.</p>
<pre><code class="language-cpp">TStringList* myPickList = new TStringList; //StringList wird mit Strings aus Abfrage eines Datenfeldes befüllt
..
//ich weise die StringList der Eigenschaft PickList i d 3.Spalte zu 
 DBGrid1-&gt;Columns-&gt;Items[2]-&gt;PickList = myPickList;
 DBGrid1-&gt;Columns-&gt;Items[2]-&gt;DropDownRows = 15;
.. 
delete myPickList;
..
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/203117/farbe-bei-einer-picklist-eines-dbgrids-einstellbar</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 10:29:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203117.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Jan 2008 21:40:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Farbe bei einer PickList eines DBGrids einstellbar? on Fri, 18 Jan 2008 21:40:48 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>gibt es eine Möglichkeit bei der Eigenschaft PickList eines DBGrids die Text-/Hintergrundfarbe einzustellen?</p>
<p>Der Kern des Programms ist wie folgt aufgebaut:<br />
in einem DBGrid habe ich einer Spalte eine Pickliste zugeordnet. Wenn ich auf eine Zelle dieser Spalte klicke, öffnet sich eine DropDownliste (=Pickliste) aus der ich einen Eintrag wählen kann.</p>
<pre><code class="language-cpp">TStringList* myPickList = new TStringList; //StringList wird mit Strings aus Abfrage eines Datenfeldes befüllt
..
//ich weise die StringList der Eigenschaft PickList i d 3.Spalte zu 
 DBGrid1-&gt;Columns-&gt;Items[2]-&gt;PickList = myPickList;
 DBGrid1-&gt;Columns-&gt;Items[2]-&gt;DropDownRows = 15;
.. 
delete myPickList;
..
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1439259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439259</guid><dc:creator><![CDATA[thunderbol4]]></dc:creator><pubDate>Fri, 18 Jan 2008 21:40:48 GMT</pubDate></item><item><title><![CDATA[Reply to Farbe bei einer PickList eines DBGrids einstellbar? on Sat, 19 Jan 2008 13:37:56 GMT]]></title><description><![CDATA[<p>Hi, dies ist so ohne weiteres nicht direkt möglich.<br />
Ich habe mal in den Source von TDBGrid geschaut, wo die ComboBox gefüllt und angezeigt wird.<br />
Intern wird die Klasse TDBGridInplaceEdit dafür verwendet und diese initialisiert die Farbe und den Font für die angezeigte PickList aus den Standardwerten der Klasse selbst:</p>
<pre><code>FPickList.Color := Color;
FPickList.Font := Font;
FPickList.Items := Column.Picklist;
</code></pre>
<p>Mittels TDBGrid::InplaceEditor kommst du jedenfalls schon mal an dieses Objekt heran. Du müßtest jetzt nur noch Zugriff auf die geschützten Eigenschaften Color und Font erhalten.<br />
Ich benutze dafür immer den folgenden Trick:</p>
<pre><code class="language-cpp">class TMyInplaceEdit : public TInplaceEdit // Basisklasse von TDBGridInplaceEdit
{
public:
  void SetColor(TColor color) { Color = color; }
  void SetTextColor(TColor color) { Font-&gt;Color = color; }
};

TMyInplaceEdit *edit = static_cast&lt;TMyInplaceEdit*&gt;(DBGrid-&gt;InplaceEditor);
edit-&gt;SetColor(clYellow);
edit-&gt;SetTextColor(colRed);
</code></pre>
<p>Dies ist aber ohne Garantie ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439437</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Sat, 19 Jan 2008 13:37:56 GMT</pubDate></item><item><title><![CDATA[Reply to Farbe bei einer PickList eines DBGrids einstellbar? on Sun, 20 Jan 2008 08:07:42 GMT]]></title><description><![CDATA[<p>Hallo Th, Danke für Deinen &quot;Schnippsel&quot;</p>
<p>Habe ich natürlich sofort ausprobiert. Leider meckert der Compiler vom BCB6.<br />
[C++ Fehler] Unit1.cpp(52): E2247 Zugriff auf 'TCustomGrid::InplaceEditor' nicht möglich</p>
<p>Macht nix. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Trotzdem eine gute Idee das mit der abgeleiteten Klasse und TInplaceEdit.</p>
<p>Ich habe mittlerweile anstelle der PickList eine DBLookupComboBox im Einsatz, bei der sich die Farben einstellen lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439755</guid><dc:creator><![CDATA[thunderbol4]]></dc:creator><pubDate>Sun, 20 Jan 2008 08:07:42 GMT</pubDate></item><item><title><![CDATA[Reply to Farbe bei einer PickList eines DBGrids einstellbar? on Sun, 20 Jan 2008 09:34:31 GMT]]></title><description><![CDATA[<p>OK, dann hast du ja einen anderen Weg gefunden.</p>
<p>Man müßte bei meiner Methode dann auch noch von TDBGrid (bzw. TCustomGrid) ableiten (und casten), da InplaceEditor eine geschützte Eigenschaft ist.<br />
(aber der Zugriff auf die Farben ist anscheinend von den Machern nicht so gewollt gewesen, sonst hätten sie es ja direkt anbieten können - warum auch immer, oder niemand hat daran gedacht?).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1439780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1439780</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Sun, 20 Jan 2008 09:34:31 GMT</pubDate></item></channel></rss>