<?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 verliert RowSelect nach wechseln des Focus - Verhindern?]]></title><description><![CDATA[<p>Hallo Zusammen,<br />
ich habe ein DBGrid mit RowSelect = true. Wenn ich eine Zeile anklicke wird auch die ganze Zeile markiert. Sobald ich dann aber z.B. ein Editfeld aktiviere verschwindet die selektierte Zeile im DBGrid. Man kann nur noch anhand des Pfeils in der ersten Spalte sehen, welche Zeile selektiert wurde.</p>
<p>Kann man das verhindern? Also ich möchte, das die selektierte Zeile immer zu sehen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150330/dbgrid-verliert-rowselect-nach-wechseln-des-focus-verhindern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 12:25:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150330.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 15 Jun 2006 12:59:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Thu, 15 Jun 2006 12:59:16 GMT]]></title><description><![CDATA[<p>Hallo Zusammen,<br />
ich habe ein DBGrid mit RowSelect = true. Wenn ich eine Zeile anklicke wird auch die ganze Zeile markiert. Sobald ich dann aber z.B. ein Editfeld aktiviere verschwindet die selektierte Zeile im DBGrid. Man kann nur noch anhand des Pfeils in der ersten Spalte sehen, welche Zeile selektiert wurde.</p>
<p>Kann man das verhindern? Also ich möchte, das die selektierte Zeile immer zu sehen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078156</guid><dc:creator><![CDATA[EPMS]]></dc:creator><pubDate>Thu, 15 Jun 2006 12:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Thu, 15 Jun 2006 13:23:24 GMT]]></title><description><![CDATA[<p>Ja, indem Du mit Canvas selbst zeichnest<br />
(im Ereignis OnDrawColumnCell).</p>
<pre><code class="language-cpp">void __fastcall TForm1::DBGrid2rawColumnCell(TObject *Sender,
      const TRect &amp;Rect, int DataCol, TColumn *Column,
      TGridDrawState State)
{
DBGrid-&gt;Canvas-&gt;Font-&gt;Color=clCaptionText;
DBGrid-&gt;Canvas-&gt;Font-&gt;Color=clLime;
DBGrid-&gt;Canvas-&gt;FillRect(Rect);
DrawCellText(DBGrid-&gt;Canvas,asText,Rect,taRightJustify);
}

void __fastcall TForm1::DrawCellText(Graphics::TCanvas* pCanvas,
                                       AnsiString slStr, TRect &amp;Rect,
                                       TAlignment eAlignment)
{
  if(eAlignment == taLeftJustify)
  {
    pCanvas-&gt;TextRect(Rect, Rect.Left + 3,
      (Rect.Top+Rect.Bottom-pCanvas-&gt;TextHeight(slStr))/2, slStr);
  }
  else if(eAlignment == taRightJustify)
  {
    pCanvas-&gt;TextRect(Rect, Rect.Right - pCanvas-&gt;TextWidth(slStr) - 3,
      (Rect.Top+Rect.Bottom-pCanvas-&gt;TextHeight(slStr))/2, slStr);
  }
  else
  {
    pCanvas-&gt;TextRect(Rect, Rect.Left + (Rect.Right - Rect.Left)/2 -
      pCanvas-&gt;TextWidth(slStr)/2, (Rect.Top+Rect.Bottom-
      pCanvas-&gt;TextHeight(slStr))/2, slStr);
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1078170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078170</guid><dc:creator><![CDATA[caspar_louis (off)]]></dc:creator><pubDate>Thu, 15 Jun 2006 13:23:24 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Fri, 16 Jun 2006 08:34:12 GMT]]></title><description><![CDATA[<p>So, habe es mal ausprobiert. Leider bekomme ich folgende Fehlermeldung:</p>
<blockquote>
<p>[C++ Fehler] drucken_lieferschein_auswahl_cpp.cpp(288): E2451 Undefiniertes Symbol 'asText'<br />
[C++ Warnung] drucken_lieferschein_auswahl_cpp.cpp(288): W8030 Temporäre Größe für Parameter 'Rect' in Aufruf von '_fastcall DrawCellText(TCanvas *,AnsiString,TRect &amp;,TAlignment)' verwendet</p>
</blockquote>
<p>Muß ich asText irgendwo vorher schon deklarieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078691</guid><dc:creator><![CDATA[EPMS]]></dc:creator><pubDate>Fri, 16 Jun 2006 08:34:12 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Fri, 16 Jun 2006 08:43:39 GMT]]></title><description><![CDATA[<p>Das asText ist wohl ein Fragment. Ersetze es einfach durch eine Zeichenkette. In dem Fall bietet sich der Text der selektierten Zelle an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078703</guid><dc:creator><![CDATA[Fincki]]></dc:creator><pubDate>Fri, 16 Jun 2006 08:43:39 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Fri, 16 Jun 2006 09:19:21 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11060">@Fincki</a>,<br />
wie komme ich denn an den Text der selektieren Zelle? Ich habe ja drei Spalten und es soll ja die ganze Zeile markiert sein.<br />
Dadurch habe ich ja drei Zellen die markiert sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078720</guid><dc:creator><![CDATA[EPMS]]></dc:creator><pubDate>Fri, 16 Jun 2006 09:19:21 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Fri, 16 Jun 2006 11:20:16 GMT]]></title><description><![CDATA[<p>asText ist eine AnsiString-Variable, die den Text der Zelle enthält.</p>
<p>Den Wert kriegst Du indem Du den Wert der Spalte das aktuellen DS abfragst.</p>
<p>z.B. so:</p>
<pre><code class="language-cpp">void __fastcall TMainMLVisard::DBGrid2DrawColumnCell(TObject *Sender,
      const TRect &amp;Rect, int DataCol, TColumn *Column,
      TGridDrawState State)
{
//....
      if (Column-&gt;FieldName==&quot;MITARBEITER&quot; || Column-&gt;FieldName==&quot;BEMERKUNG&quot;) {
         asText = DBGrid-&gt;Fields[DataCol]-&gt;AsString;
      }
      else {
         asText = FloatToStrF(DBGrid-&gt;Fields[DataCol]-&gt;AsFloat,ffNumber,7,2);
      }
/....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1078784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078784</guid><dc:creator><![CDATA[caspar_louis (off)]]></dc:creator><pubDate>Fri, 16 Jun 2006 11:20:16 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Fri, 16 Jun 2006 11:39:48 GMT]]></title><description><![CDATA[<p>So habe es mal eingefügt und die Fehlermeldung kommt auch nicht mehr.</p>
<p>Wenn ich aber vom DBGrid in ein Edit-Feld wechsel ist die ausgewählte Zeile wieder nicht markiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1078798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1078798</guid><dc:creator><![CDATA[EPMS]]></dc:creator><pubDate>Fri, 16 Jun 2006 11:39:48 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Fri, 16 Jun 2006 21:41:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,
      const TRect &amp;Rect, int DataCol, TColumn *Column,
      TGridDrawState State)
{
if(State.Contains(gdSelected))
{
   DBGrid1-&gt;Canvas-&gt;Brush-&gt;Color = clHighlight;
   DBGrid1-&gt;Canvas-&gt;Font-&gt;Color = clHighlightText;
}
else
{
   DBGrid1-&gt;Canvas-&gt;Brush-&gt;Color = clWindow;
   DBGrid1-&gt;Canvas-&gt;Font-&gt;Color = clWindowText;
}
DBGrid1-&gt;DefaultDrawColumnCell(Rect, DataCol, Column, State);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1079193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079193</guid><dc:creator><![CDATA[somachtmandas]]></dc:creator><pubDate>Fri, 16 Jun 2006 21:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Sat, 17 Jun 2006 08:09:29 GMT]]></title><description><![CDATA[<p>Wie wärs einfach mit Options dgAlwaysShowSelection=true ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079293</guid><dc:creator><![CDATA[VergissEs]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:09:29 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Sat, 17 Jun 2006 09:12:32 GMT]]></title><description><![CDATA[<p>VergissEs schrieb:</p>
<blockquote>
<p>Wie wärs einfach mit Options dgAlwaysShowSelection=true ?</p>
</blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/887">@VergissEs</a></p>
<p>VergissEs</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079329</guid><dc:creator><![CDATA[bcbler]]></dc:creator><pubDate>Sat, 17 Jun 2006 09:12:32 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid verliert RowSelect nach wechseln des Focus - Verhindern? on Sat, 17 Jun 2006 12:02:54 GMT]]></title><description><![CDATA[<p>@bcbler<br />
haste dir schon mal die Frage von Thread-Ersteller durchgelesen?</p>
<p>und was macht nun dgAlwaysShowSelection=true ?</p>
<p>genau das was der Thread-Ersteller wollte, nämlich nach den DBGrid Focus verlust weiterhin die selektierte Zeile darzustellen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079419</guid><dc:creator><![CDATA[VergissEs]]></dc:creator><pubDate>Sat, 17 Jun 2006 12:02:54 GMT</pubDate></item></channel></rss>