<?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[gedrückte Taste verschlucken (CEdit): wie?]]></title><description><![CDATA[<p>Ich habe hier schon gesucht, aber nichts passendes gefunden.<br />
Da CEdit direkt keinen OnKeyDown oder OnChar Event hat, habe ich eine neue Klasse NoEchoEdit abgeleitet von der Basisklasse CEdit.<br />
Damit kann ich auch OnChar und OnKeyDown verwenden, in beiden Methoden sehe ich die gedrückte Taste.</p>
<p>Doch wie lösche ich die gedrückte Taste, so daß sie nicht ausgegeben wird? Ich kann sie nichtmal ändern.<br />
Das hier z.B. funktioniert nicht:</p>
<pre><code class="language-cpp">void CNoEchoEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
  CEdit::OnKeyDown('k', nRepCnt, nFlags);
}
</code></pre>
<p>Es wird trotzdem immer die gedrückte Taste ausgegeben, kein 'k'.<br />
Und wenn ich CEdit::OnKeyDown garnicht aufrufe, dann wird das getippte Zeichen trotzdem angezeigt. Wie also kann ich es verschlucken?</p>
<p>Es ist ein Terminalfenster, bei dem getippte Buchstaben nur über die serielle Schnittstelle gesendet (und nicht angezeigt) werden, angezeigt werden nur die empfangenen Zeichen.</p>
<p>Gruß,<br />
Micha</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/69347/gedrückte-taste-verschlucken-cedit-wie</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 02:06:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/69347.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Mar 2004 14:49:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to gedrückte Taste verschlucken (CEdit): wie? on Fri, 26 Mar 2004 14:49:32 GMT]]></title><description><![CDATA[<p>Ich habe hier schon gesucht, aber nichts passendes gefunden.<br />
Da CEdit direkt keinen OnKeyDown oder OnChar Event hat, habe ich eine neue Klasse NoEchoEdit abgeleitet von der Basisklasse CEdit.<br />
Damit kann ich auch OnChar und OnKeyDown verwenden, in beiden Methoden sehe ich die gedrückte Taste.</p>
<p>Doch wie lösche ich die gedrückte Taste, so daß sie nicht ausgegeben wird? Ich kann sie nichtmal ändern.<br />
Das hier z.B. funktioniert nicht:</p>
<pre><code class="language-cpp">void CNoEchoEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
  CEdit::OnKeyDown('k', nRepCnt, nFlags);
}
</code></pre>
<p>Es wird trotzdem immer die gedrückte Taste ausgegeben, kein 'k'.<br />
Und wenn ich CEdit::OnKeyDown garnicht aufrufe, dann wird das getippte Zeichen trotzdem angezeigt. Wie also kann ich es verschlucken?</p>
<p>Es ist ein Terminalfenster, bei dem getippte Buchstaben nur über die serielle Schnittstelle gesendet (und nicht angezeigt) werden, angezeigt werden nur die empfangenen Zeichen.</p>
<p>Gruß,<br />
Micha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489499</guid><dc:creator><![CDATA[MHX]]></dc:creator><pubDate>Fri, 26 Mar 2004 14:49:32 GMT</pubDate></item><item><title><![CDATA[Reply to gedrückte Taste verschlucken (CEdit): wie? on Fri, 26 Mar 2004 15:04:57 GMT]]></title><description><![CDATA[<p>MHX schrieb:</p>
<blockquote>
<p>Doch wie lösche ich die gedrückte Taste, so daß sie nicht ausgegeben wird? Ich kann sie nichtmal ändern.<br />
Das hier z.B. funktioniert nicht:</p>
<pre><code class="language-cpp">void CNoEchoEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
  CEdit::OnKeyDown('k', nRepCnt, nFlags);
}
</code></pre>
<p>Es wird trotzdem immer die gedrückte Taste ausgegeben, kein 'k'.<br />
Und wenn ich CEdit::OnKeyDown garnicht aufrufe, dann wird das getippte Zeichen trotzdem angezeigt.</p>
</blockquote>
<p>MSDN schrieb:</p>
<blockquote>
<p>Note This member function is called by the framework to allow your application to handle a Windows message. The parameters passed to your function reflect the parameters received by the framework when the message was received. <strong>If you call the base-class implementation of this function, that implementation will use the parameters originally passed with the message and not the parameters you supply to the function.</strong></p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/489513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489513</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Fri, 26 Mar 2004 15:04:57 GMT</pubDate></item></channel></rss>