<?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[WM_PASTE + CEdit?]]></title><description><![CDATA[<p>Hi!<br />
Ich möchte verhindern, dass ein User über das Clipboard Text in ein Edit einfügt.<br />
Nun habe ich habe gesehen, dass es die Nachricht WM_PASTE gibt und wollte damit die Eingabe über Strg-Einfg abfangen, aber ich kann sie nirgends im Klassen-Assi finden.<br />
Bin ich (mal wieder <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="😉"
    /> ) irgendwie auf dem Holzweg?<br />
Danke schonmal für Eure Eingebungen!</p>
<p>Gruß T.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/70013/wm_paste-cedit</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 08:55:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/70013.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Apr 2004 18:22:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Fri, 02 Apr 2004 18:22:25 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ich möchte verhindern, dass ein User über das Clipboard Text in ein Edit einfügt.<br />
Nun habe ich habe gesehen, dass es die Nachricht WM_PASTE gibt und wollte damit die Eingabe über Strg-Einfg abfangen, aber ich kann sie nirgends im Klassen-Assi finden.<br />
Bin ich (mal wieder <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="😉"
    /> ) irgendwie auf dem Holzweg?<br />
Danke schonmal für Eure Eingebungen!</p>
<p>Gruß T.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/494008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494008</guid><dc:creator><![CDATA[Theo]]></dc:creator><pubDate>Fri, 02 Apr 2004 18:22:25 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Fri, 02 Apr 2004 21:11:58 GMT]]></title><description><![CDATA[<p>Du musst eigentlich in deinem Dialog die PreTranslateMessage überschreiben und dann bei WM_PASTE false zurückliefern, alle anderen Befehle musste an die CDialog::PreTranslateMessage weitergeben.</p>
<p>Inner MSDN ist AFAIK ein Beispiel dazu drin das recht leicht zu verstehen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/494075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494075</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Fri, 02 Apr 2004 21:11:58 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Sat, 03 Apr 2004 19:58:31 GMT]]></title><description><![CDATA[<p>Also WM_PASTE ist bei PreTranslateMessage bei mir irgendwie nicht rauszufischen gewesen.<br />
Jetzt habe ich es mit EN_UPDATE erledigt.<br />
Mich stört einfach, dass man das CEdit mit dem Clipboard überlisten kann und trotz Begrenzung auf numerische Werte per Copy + Paste alles reinkopieren kann was man will. Das CEdit überprüft den Inhalt erst wieder bei UpdateData(TRUE) und setzt den gesamten Inhalt auf &quot;0&quot; wenn ein nicht-numerischer Wert gefunden wird. Das ist irgendwie nicht so klasse...<br />
Ich finde EN_UPDATE eignet sich auch deshalb gut als Zeitpunkt zur Korrektur, weil es vor WM_PAINT kommt und das Auswechseln der Zeichen so kein Flackern im Control erzeugt.<br />
Nun kann man reinkoperen was man will, wenn ein nicht-numerischer Wert dabei ist, wird auf &quot;0&quot; gesetzt, nun aber schon bei der Eingabe.</p>
<pre><code class="language-cpp">void CMyDlg::OnUpdateNumericEdit() 
{
	CString strText;
	BOOL bIsNumeric = TRUE;
	CWnd* pCtrl	= GetFocus();
	pCtrl-&gt;GetWindowText(strText);
	TCHAR chTemp;
	int n, nMax = strText.GetLength();
	for (n = 0; n &lt; nMax; ++n)
	{
		chTemp = strText.GetAt(n);
		if ((int)chTemp &lt; 48 || (int)chTemp &gt; 57)
			bIsNumeric = FALSE;
	}
	if (!bIsNumeric)
		pCtrl-&gt;SetWindowText(_T(&quot;0&quot;));
}
</code></pre>
<p>Danke trotzdem für Deinen Vorschlag!<br />
Gruß T. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/494488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494488</guid><dc:creator><![CDATA[Theo]]></dc:creator><pubDate>Sat, 03 Apr 2004 19:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Sat, 03 Apr 2004 20:24:09 GMT]]></title><description><![CDATA[<blockquote>
<p>Also WM_PASTE ist bei PreTranslateMessage bei mir irgendwie nicht rauszufischen gewesen</p>
</blockquote>
<pre><code class="language-cpp">BOOL MyDlg::PreTranslateMessage(MSG* pMsg){
	if(pMsg-&gt;message == WM_PASTE).....
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/494500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494500</guid><dc:creator><![CDATA[Windalf]]></dc:creator><pubDate>Sat, 03 Apr 2004 20:24:09 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Sat, 03 Apr 2004 20:39:44 GMT]]></title><description><![CDATA[<p>Die WM_PASTE Nachricht wird ja auch gesendet und nicht gepostet. Deshalb kommt sie dort niemals an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/494507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494507</guid><dc:creator><![CDATA[..]]></dc:creator><pubDate>Sat, 03 Apr 2004 20:39:44 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Sat, 03 Apr 2004 21:13:03 GMT]]></title><description><![CDATA[<p>aha, dann kann's damit ja auch nicht funzen.<br />
Hatte nämlich genau Windalf's Code und es passierte genau gar nix...<br />
Gruß T.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/494528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494528</guid><dc:creator><![CDATA[Theo]]></dc:creator><pubDate>Sat, 03 Apr 2004 21:13:03 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Sat, 03 Apr 2004 22:59:14 GMT]]></title><description><![CDATA[<p>ach daher weht der wind...<br />
na da wär ich dann wohl auch gut auf die schnauze geflogen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/494578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494578</guid><dc:creator><![CDATA[Windalf]]></dc:creator><pubDate>Sat, 03 Apr 2004 22:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Sun, 04 Apr 2004 13:33:53 GMT]]></title><description><![CDATA[<p>.. schrieb:</p>
<blockquote>
<p>Die WM_PASTE Nachricht wird ja auch gesendet und nicht gepostet. Deshalb kommt sie dort niemals an.</p>
</blockquote>
<p>aha, kann man das vielleicht irgendwo nachlesen? bisher dachte ich da kommen einfach alle MSG durch und man kann dann die rausfischen die man haben möchte? Wie issn der unterschied zwischen gesendet/gepostet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/494780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494780</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Sun, 04 Apr 2004 13:33:53 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Sun, 04 Apr 2004 13:37:17 GMT]]></title><description><![CDATA[<blockquote>
<p>CWnd::PreTranslateMessage</p>
<p>Used by class CWinApp to translate window messages before they are dispatched to the TranslateMessage and DispatchMessage Windows functions.</p>
</blockquote>
<p>Wenn die Message gesendet wird (SendMessage), wird die WndProc direkt aufgerufen, ohne diesen Umweg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/494782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/494782</guid><dc:creator><![CDATA[CWinApp]]></dc:creator><pubDate>Sun, 04 Apr 2004 13:37:17 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Mon, 05 Apr 2004 06:30:51 GMT]]></title><description><![CDATA[<p>aha! danke..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495123</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Mon, 05 Apr 2004 06:30:51 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Mon, 05 Apr 2004 07:07:04 GMT]]></title><description><![CDATA[<p>Windalf schrieb:</p>
<blockquote>
<blockquote>
<p>Also WM_PASTE ist bei PreTranslateMessage bei mir irgendwie nicht rauszufischen gewesen</p>
</blockquote>
<pre><code class="language-cpp">BOOL MyDlg::PreTranslateMessage(MSG* pMsg){
	if(pMsg-&gt;message == WM_PASTE).....
</code></pre>
</blockquote>
<p>ich denke am einfachsten wäre</p>
<pre><code class="language-cpp">BOOL MyDlg::PreTranslateMessage(MSG* pMsg){
	if(pMsg-&gt;message == WM_PASTE)
               pMsg-&gt;message = NULL;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/495133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495133</guid><dc:creator><![CDATA[Reticent]]></dc:creator><pubDate>Mon, 05 Apr 2004 07:07:04 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Mon, 05 Apr 2004 10:19:41 GMT]]></title><description><![CDATA[<p>lol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495242</guid><dc:creator><![CDATA[hehe]]></dc:creator><pubDate>Mon, 05 Apr 2004 10:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to WM_PASTE + CEdit? on Mon, 05 Apr 2004 10:26:17 GMT]]></title><description><![CDATA[<p>Reticent schrieb:</p>
<blockquote>
<p>Windalf schrieb:</p>
<blockquote>
<blockquote>
<p>Also WM_PASTE ist bei PreTranslateMessage bei mir irgendwie nicht rauszufischen gewesen</p>
</blockquote>
<pre><code class="language-cpp">BOOL MyDlg::PreTranslateMessage(MSG* pMsg){
	if(pMsg-&gt;message == WM_PASTE).....
</code></pre>
</blockquote>
<p>ich denke am einfachsten wäre</p>
<pre><code class="language-cpp">BOOL MyDlg::PreTranslateMessage(MSG* pMsg){
	if(pMsg-&gt;message == WM_PASTE)
               pMsg-&gt;message = NULL;
</code></pre>
</blockquote>
<p>Wenn die WM_PASTE über die PreTranslateMessage() gehen würde könnte das schon sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/495247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495247</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Mon, 05 Apr 2004 10:26:17 GMT</pubDate></item></channel></rss>