<?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[RichEditCtrl funktioniert nicht richtig]]></title><description><![CDATA[<p>Hi<br />
Ich möchte in einem Editor von mir von einem &quot;edit&quot; auf ein &quot;RichEditCtrl&quot; wechseln:</p>
<p>Vorher:</p>
<pre><code class="language-cpp">hwndEdit = CreateWindow(&quot;edit&quot;, &quot;&quot;, WS_CHILD | WS_VISIBLE | ES_MULTILINE | WS_HSCROLL | WS_VSCROLL | ES_WANTRETURN, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwnd, (HMENU) IDC_MAIN_TEXT, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
</code></pre>
<p>Nachher:</p>
<pre><code class="language-cpp">hwndEdit = CreateWindow(&quot;RichEditCtrl&quot;, NULL, WS_CHILD | ES_MULTILINE | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_AUTOVSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwnd, (HMENU) IDC_MAIN_TEXT, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
</code></pre>
<p>Allerdings kann ich so nichts eingeben... Das Textfeld ist nicht &quot;Aktiv&quot;...<br />
Was muss ich noch ändern??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/109010/richeditctrl-funktioniert-nicht-richtig</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 10:47:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/109010.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 May 2005 17:42:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Thu, 05 May 2005 17:42:04 GMT]]></title><description><![CDATA[<p>Hi<br />
Ich möchte in einem Editor von mir von einem &quot;edit&quot; auf ein &quot;RichEditCtrl&quot; wechseln:</p>
<p>Vorher:</p>
<pre><code class="language-cpp">hwndEdit = CreateWindow(&quot;edit&quot;, &quot;&quot;, WS_CHILD | WS_VISIBLE | ES_MULTILINE | WS_HSCROLL | WS_VSCROLL | ES_WANTRETURN, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwnd, (HMENU) IDC_MAIN_TEXT, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
</code></pre>
<p>Nachher:</p>
<pre><code class="language-cpp">hwndEdit = CreateWindow(&quot;RichEditCtrl&quot;, NULL, WS_CHILD | ES_MULTILINE | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_AUTOVSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwnd, (HMENU) IDC_MAIN_TEXT, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
</code></pre>
<p>Allerdings kann ich so nichts eingeben... Das Textfeld ist nicht &quot;Aktiv&quot;...<br />
Was muss ich noch ändern??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/782356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782356</guid><dc:creator><![CDATA[RedEagle]]></dc:creator><pubDate>Thu, 05 May 2005 17:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Thu, 05 May 2005 18:54:07 GMT]]></title><description><![CDATA[<p>Ok, jetzt funktionierts (wusste nicht, das man dafür ne *.dll braucht)<br />
ABER irgendwie funktioniert das mit dem Subclassing nicht:</p>
<pre><code class="language-cpp">static LONG PrevWndProcEdit;
LRESULT CALLBACK EditWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

//... 

hwndEdit = CreateWindow(&quot;RichEdit&quot;, NULL, WS_CHILD | ES_MULTILINE | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_AUTOVSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwnd, (HMENU) IDC_MAIN_TEXT, (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE), NULL);

PrevWndProcEdit = SetWindowLong(hwndEdit, GWL_WNDPROC, (LONG) EditWndProc);

//...

LRESULT CALLBACK EditWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   switch (message)
   {
      case WM_CHAR:
         MessageBox (NULL, &quot;Taste!&quot;, &quot;Tasteneingabe im Editfeld&quot;, NULL);
// stünde hier ein &quot;return 0;&quot; würde keine Taste im Editfeld erscheinen!
         break;  
   }

return CallWindowProc ((WNDPROC) PrevWndProcEdit, hwnd, message, wParam, lParam);
}

//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/782391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782391</guid><dc:creator><![CDATA[RedEagle]]></dc:creator><pubDate>Thu, 05 May 2005 18:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Thu, 05 May 2005 20:26:05 GMT]]></title><description><![CDATA[<p>Inwiefern funktioniert es denn nicht? Wenn du in WM_CHAR return 0 machst, ist doch einleuchtend, dass dann kein Text mehr erscheint, da der Tastendruck dann ja von der eigentlichen RichEdit-WndProc nicht mehr verarbeitet wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/782421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782421</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 05 May 2005 20:26:05 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Thu, 05 May 2005 22:10:42 GMT]]></title><description><![CDATA[<p>So, jetzt kenne ich das Problem genau:</p>
<pre><code class="language-cpp">SendDlgItemMessage(hwnd, IDC_MAIN_TEXT, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), MAKELPARAM(TRUE, 0));
</code></pre>
<p>Nach dieser Stelle stürtzt das Programm ab.</p>
<pre><code class="language-cpp">hFont  = CreateFont(schrift_grosse, 0, 0, 0, 0, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE | DEFAULT_PITCH, TEXT(schrift_art));
SendMessage(hwndEdit, WM_SETFONT, (WPARAM)hFont, 0);
</code></pre>
<p>Wenn ich die Obere Stelle weg lasse, stürtzt es hier ab...</p>
<p>Und das zeiht sich durchs ganze Program... Immer wenn ich irgendwas mit dem RichEdit-Ding mache, stürtzt das Programm ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/782470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782470</guid><dc:creator><![CDATA[RedEagle]]></dc:creator><pubDate>Thu, 05 May 2005 22:10:42 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Fri, 06 May 2005 06:03:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">MoveWindow(GetDlgItem(hwnd, IDC_MAIN_TEXT), 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
//...
SetFocus(GetDlgItem(hwnd, IDC_MAIN_TEXT));
</code></pre>
<p>Hier stürtzt es auch ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/782531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782531</guid><dc:creator><![CDATA[RedEagle]]></dc:creator><pubDate>Fri, 06 May 2005 06:03:16 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Fri, 06 May 2005 06:35:27 GMT]]></title><description><![CDATA[<p>Liefert denn GetDlgItem(hwnd, IDC_MAIN_TEXT) ein gültiges Handle zurück?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/782537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782537</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Fri, 06 May 2005 06:35:27 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Fri, 06 May 2005 06:52:25 GMT]]></title><description><![CDATA[<p>[-]Weiß nicht, wie kann man das Prüfen??[/-]<br />
GetLastError(); bring <strong>0</strong></p>
<pre><code class="language-cpp">if(SetFocus(GetDlgItem(hwnd, IDC_MAIN_TEXT)) == NULL) MessageBox(NULL,&quot;&quot;,&quot;&quot;,MB_ICONSTOP|MB_OK);
</code></pre>
<p>Die MessageBox wird zwar nicht aufgerufen, aber es Stürtzt trotzdem ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/782539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782539</guid><dc:creator><![CDATA[RedEagle]]></dc:creator><pubDate>Fri, 06 May 2005 06:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Fri, 06 May 2005 06:57:34 GMT]]></title><description><![CDATA[<p>Gerade hab ich gedacht, den Fehler gefunden zui haben:</p>
<pre><code class="language-cpp">MoveWindow(GetDlgItem(hwndEdit, IDC_MAIN_TEXT), 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
//...
SetFocus(GetDlgItem(hwndEdit, IDC_MAIN_TEXT));
</code></pre>
<p>Das Handle zum RichEdit-feld heißt &quot;hwndEdit&quot;; &quot;hwnd&quot; ist mein Fenster...<br />
Jetzt stürten diese Beiden Funktioonen schonmal nicht ba, aber das mit der Schrift geht immer noch nicht, und in das Feld schreiben, auch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/782542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782542</guid><dc:creator><![CDATA[RedEagle]]></dc:creator><pubDate>Fri, 06 May 2005 06:57:34 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Fri, 06 May 2005 07:22:48 GMT]]></title><description><![CDATA[<p>RedEagle schrieb:</p>
<blockquote>
<p>[-]Weiß nicht, wie kann man das Prüfen??[/-]</p>
</blockquote>
<p>IsWindow(GetDlgItem(hwnd, IDC_MAIN_TEXT))</p>
<p>RedEagle schrieb:</p>
<blockquote>
<pre><code class="language-cpp">GetDlgItem(hwndEdit, IDC_MAIN_TEXT)
</code></pre>
</blockquote>
<p>Bei GetDlgItem musst du als ersten Parameter das Parent-Fenster angeben - wenn du aber hwndEdit schon direkt hast (und es noch gültig ist - also global oder static), dann kannst du dir GetDlgItem ganz sparen und immer gleich hwndEdit angeben <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="😉"
    /><br />
Aber auch hier dann mal den Test mit IsWindow(hwndEdit)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/782550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782550</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Fri, 06 May 2005 07:22:48 GMT</pubDate></item><item><title><![CDATA[Reply to RichEditCtrl funktioniert nicht richtig on Fri, 06 May 2005 07:33:51 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if(!IsWindow(hwndEdit))MessageBox(NULL,&quot;&quot;,&quot;&quot;,MB_OK|MB_ICONSTOP)
</code></pre>
<p>MsgBox wird nicht angezeigt...</p>
<p>evtl hilft nen Tutorial über RichEdits...<br />
mit den Normalen Textfeld ging das alles ganz gut</p>
]]></description><link>https://www.c-plusplus.net/forum/post/782552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/782552</guid><dc:creator><![CDATA[RedEagle]]></dc:creator><pubDate>Fri, 06 May 2005 07:33:51 GMT</pubDate></item></channel></rss>