<?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[DBGrid selektierte Zeile farblich hinterlegen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte eine Zeile im DBGrid farblich hinterlegen, die ich mit der Maus anklicke.</p>
<pre><code class="language-cpp">void __fastcall TMainForm::DBGridKundenDrawColumnCell(TObject *Sender,
      const TRect &amp;Rect, int DataCol, TColumn *Column,
      TGridDrawState State)
{
POINT XYCell={Rect.Left,Rect.Top};
TGridCoord cellColRow;
::ClientToScreen(DBGridKunden-&gt;Canvas-&gt;Handle,(LPPOINT)&amp;XYCell);
cellColRow=DBGridKunden-&gt;MouseCoord(XYCell.x,XYCell.y);

if (State.Contains(gdSelected))
{
cellColRow.X = 1;
zelle=true; //global
}
if(cellColRow.Y &amp;&amp; zelle)
{
DBGridKunden-&gt;Canvas-&gt;Brush-&gt;Color = clInactiveCaption;
}
DBGridKunden-&gt;DefaultDrawColumnCell(Rect,DataCol,Column,State);
if(cellColRow.X == 7)
zelle = false;
}
</code></pre>
<p>Das funktioniert aber nur soweit wenn ich in die erste Spalte klicke oder die DBNavigator Komponente nehm um zum nächsten Datensatz zu springen.<br />
Klicke ich z.B. in Spalte 2 oder 3 werden die Zellen davor nicht gefärbt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/123436/dbgrid-selektierte-zeile-farblich-hinterlegen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 10:21:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/123436.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Oct 2005 22:42:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DBGrid selektierte Zeile farblich hinterlegen on Sun, 16 Oct 2005 22:42:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte eine Zeile im DBGrid farblich hinterlegen, die ich mit der Maus anklicke.</p>
<pre><code class="language-cpp">void __fastcall TMainForm::DBGridKundenDrawColumnCell(TObject *Sender,
      const TRect &amp;Rect, int DataCol, TColumn *Column,
      TGridDrawState State)
{
POINT XYCell={Rect.Left,Rect.Top};
TGridCoord cellColRow;
::ClientToScreen(DBGridKunden-&gt;Canvas-&gt;Handle,(LPPOINT)&amp;XYCell);
cellColRow=DBGridKunden-&gt;MouseCoord(XYCell.x,XYCell.y);

if (State.Contains(gdSelected))
{
cellColRow.X = 1;
zelle=true; //global
}
if(cellColRow.Y &amp;&amp; zelle)
{
DBGridKunden-&gt;Canvas-&gt;Brush-&gt;Color = clInactiveCaption;
}
DBGridKunden-&gt;DefaultDrawColumnCell(Rect,DataCol,Column,State);
if(cellColRow.X == 7)
zelle = false;
}
</code></pre>
<p>Das funktioniert aber nur soweit wenn ich in die erste Spalte klicke oder die DBNavigator Komponente nehm um zum nächsten Datensatz zu springen.<br />
Klicke ich z.B. in Spalte 2 oder 3 werden die Zellen davor nicht gefärbt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/893783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/893783</guid><dc:creator><![CDATA[ts113]]></dc:creator><pubDate>Sun, 16 Oct 2005 22:42:03 GMT</pubDate></item></channel></rss>