<?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[Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben]]></title><description><![CDATA[<p>**Hallo ich hab da ein Problem den Inhalt des Editfensters<br />
an die Variable(Pointer) *pText in Zeile 64 zu übergeben.<br />
Wenn ich den Button hButtonRead aus Zeile 145</p>
<pre><code>SendMessage(hEditH, WM_GETTEXT, 5, (LPARAM)pText);
</code></pre>
<p>klicke, soll der Inhalt vom Editfenster ausgelesen und als Text im Hauptfenster<br />
ausgegeben werden siehe Zeile 86</p>
<pre><code>TextOut(hDC, 50,100, pText, sizeof(pText));
</code></pre>
<p>.<br />
Wenn ich das Programm starte läuft noch alles, doch sobald ich den<br />
Button drücke stürzt das Programm ab.**</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

//#include &lt;string.h&gt;

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    HWND     hWnd;
    MSG      msg;
    WNDCLASS wc;

    const char szAppName[] = &quot;PC Herunterfahren 1.0&quot;;

    wc.style          = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc    = WndProc;
    wc.cbClsExtra     = 0;
    wc.cbWndExtra     = 0;
    wc.hInstance      = hInstance;
    wc.hIcon          = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground  = CreateSolidBrush(RGB(128, 184, 223)); //(HBRUSH)GetStockObject(LTGRAY_BRUSH);
    wc.lpszMenuName   = NULL;
    wc.lpszClassName  = szAppName;

    RegisterClass(&amp;wc);

    hWnd = CreateWindow( szAppName,
                         szAppName,
                         WS_OVERLAPPED | WS_SYSMENU, //WS_OVERLAPPEDWINDOW,
                         CW_USEDEFAULT,          /* X-Position auf dem Monitor ,Zahl oder CW_USEDEFAULT*/
                         CW_USEDEFAULT,          /* Y-Position auf dem Monitor */
                         400,          /* Fensterbreite              */
                         300,          /* Fensterhoehe               */
                         NULL,
                         NULL,
                         hInstance,
                         NULL );

    ShowWindow(hWnd, iCmdShow);
    UpdateWindow(hWnd);

    while(GetMessage(&amp;msg, NULL, 0, 0))
    {
        TranslateMessage(&amp;msg);
        DispatchMessage(&amp;msg);
    }

    return msg.wParam;
}

//-------------------------------------------------------------------------------------------------

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND hEditH;	 //Edithandle wird erstellt
	static HWND hButton; //Buttonhandle wird erstellt
	static HWND hButtonRead;

	char buffer[2];
	const char *pConst = &quot;leer&quot;;
	char *pText = new char[];
	pText = const_cast&lt;char*&gt;(pConst);

    switch(message)
    {

	case WM_PAINT:
      {
         PAINTSTRUCT ps;
         HDC         hDC;
         const char  szText[] = &quot;Hallo, dies ist der Text.&quot;;

		 //SYSTEMTIME tm; GetSystemTime(&amp;tm);
		 //long Zeit = (long) GetCurrentTime();
		 //GetSystemTime(), GetLocalTime()	//GetTickCount();
		 //sprintf(buffer, &quot;%d&quot;, 5);
		 itoa(123456, buffer, 10);	//itoa(Zahl, -&gt; char[], Basis);

         hDC = BeginPaint(hWnd, &amp;ps);
         {
			SetBkMode(hDC, TRANSPARENT); //setzt die Texthintergrundfarbe auf transparent
			TextOut(hDC, 50, 10, szText, sizeof(szText) - 1);
			TextOut(hDC, 50,100, pText, sizeof(pText));
			TextOut(hDC, 50,150,&quot;ABC &quot;, 50);
			TextOut(hDC, 50,200,buffer, sizeof(buffer)+8 );
			SetPixel(hDC, 2,2, BLACK_BRUSH);
         }
         EndPaint(hWnd, &amp;ps);

         return 0;
      }
    case WM_CREATE:
        {
            hEditH = CreateWindowEx(WS_EX_CLIENTEDGE,
                                   &quot;edit&quot;,
                                   NULL,    // &lt;- das ist der Inhalt des Editfelds
                                   WS_CHILD | WS_VISIBLE, //| WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL,
                                   0, 0, 0, 0,
                                   hWnd,
                                   NULL,
                                   ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                   NULL);

			hButton = CreateWindow(  &quot;button&quot;,
                                  &quot;Beenden&quot;,
                                  WS_CHILD | WS_VISIBLE,
                                  0, 0, 0, 0,
                                  hWnd,
                                  NULL,
                                  ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                  NULL);

			hButtonRead = CreateWindow(  &quot;button&quot;,
                                  &quot;read&quot;,
                                  WS_CHILD | WS_VISIBLE,
                                  0, 0, 0, 0,
                                  hWnd,
                                  NULL,
                                  ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                  NULL);
            return 0;
        }
    case WM_SIZE:
        {
            MoveWindow(hEditH, 80, 50, 100, 20, TRUE);
// MoveWindow(hEdit, 20, 50, LOWORD(lParam), HIWORD(lParam), TRUE);
// static bool MoveWindow(IntPtr handle, int x, int y, int width, int height, bool redraw);
			MoveWindow(hButton, LOWORD(lParam) / 2 - 50, HIWORD(lParam) - 30, 100, 22, TRUE);
			MoveWindow(hButtonRead, 200, 50, 50, 22, TRUE);
			return 0;
        }

	case WM_COMMAND:
		{
			if (lParam == (LPARAM)hButton)
				{
					if (HIWORD(wParam) == BN_CLICKED) SendMessage(hWnd, WM_CLOSE, 0, 0);
				}

			if (lParam == (LPARAM)hButtonRead)
				{
				if (HIWORD(wParam) == BN_CLICKED)	{  SendMessage(hEditH, WM_GETTEXT, 5, (LPARAM)pText);
/*
														//Textlänge ermitteln (die 1 für Terminierung)
														int le = SendMessage(hEditH,WM_GETTEXTLENGTH,0,0) + 1;

														//Entsprechend Speicher belegen
														char* buf = new char[le];

														//Window - Text in Buffer kopieren
														SendMessage(hEditH,WM_GETTEXT,(WPARAM)le,(LPARAM)buf);

														text = buf;
														//SendMessage(hwndEdit2, WM_GETTEXT, msize(textstring), (long) textstring);

														//in ein Integer konvertieren
														//int myVal = atoi(buf);
														//Speicher freigeben;
														//delete [] buf; 
*/
													}
				}

         return 0;
		}
    case WM_CLOSE:
        {
            DestroyWindow(hWnd);
            return 0;
        }
    case WM_DESTROY:
        {
            PostQuitMessage(0);
            return 0;
        }
    }
    return DefWindowProc(hWnd, message, wParam, lParam);
}

/*
char *buffer = NULL;
            int iLength;

            iLength = GetWindowTextLength(hEdit);

            buffer = (char*) malloc(iLength);

            GetWindowText(hEdit, buffer, iLength+1);

SENDMESSAGE()
Eine sehr breit einsetzbare Funktion ist SendMessage(...). Die allgemeine Syntax ist:
LRESULT SendMessage (  HWND hWnd,  UINT Msg,  WPARAM wParam,   LPARAM lParam );

Der erste Parameter legt das Fenster fest, an das die Nachricht gesendet werden soll. 
Dann folgt die Nachricht und ihre beiden Parameter.
Wir senden also die Nachricht EM_SETREADONLY mit den Parametern wParam = TRUE und lParam = 0. 
In MSDN finden Sie die betreffenden Informationen: 

*/
</code></pre>
<p>**Wer kann mir helfen das Programm zum laufen zubringen?<br />
Ich habe leider keine Erfahrung damit, war schon schwer genug das Programm so hinzubekommen wie es jetzt ist, und hab schon nach Lösungen in anderen vergleichbaren Threads gesucht doch nichts passendes gefunden.</p>
<p>Vielen Dank im Voraus für Hilfe.** <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>
<p>Grüsse rom4o</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216339/inhalt-aus-editfenster-mit-sendmessage-per-button-an-hauptfenster-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 12:56:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216339.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Jun 2008 01:30:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 01:30:37 GMT]]></title><description><![CDATA[<p>**Hallo ich hab da ein Problem den Inhalt des Editfensters<br />
an die Variable(Pointer) *pText in Zeile 64 zu übergeben.<br />
Wenn ich den Button hButtonRead aus Zeile 145</p>
<pre><code>SendMessage(hEditH, WM_GETTEXT, 5, (LPARAM)pText);
</code></pre>
<p>klicke, soll der Inhalt vom Editfenster ausgelesen und als Text im Hauptfenster<br />
ausgegeben werden siehe Zeile 86</p>
<pre><code>TextOut(hDC, 50,100, pText, sizeof(pText));
</code></pre>
<p>.<br />
Wenn ich das Programm starte läuft noch alles, doch sobald ich den<br />
Button drücke stürzt das Programm ab.**</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

//#include &lt;string.h&gt;

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    HWND     hWnd;
    MSG      msg;
    WNDCLASS wc;

    const char szAppName[] = &quot;PC Herunterfahren 1.0&quot;;

    wc.style          = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc    = WndProc;
    wc.cbClsExtra     = 0;
    wc.cbWndExtra     = 0;
    wc.hInstance      = hInstance;
    wc.hIcon          = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground  = CreateSolidBrush(RGB(128, 184, 223)); //(HBRUSH)GetStockObject(LTGRAY_BRUSH);
    wc.lpszMenuName   = NULL;
    wc.lpszClassName  = szAppName;

    RegisterClass(&amp;wc);

    hWnd = CreateWindow( szAppName,
                         szAppName,
                         WS_OVERLAPPED | WS_SYSMENU, //WS_OVERLAPPEDWINDOW,
                         CW_USEDEFAULT,          /* X-Position auf dem Monitor ,Zahl oder CW_USEDEFAULT*/
                         CW_USEDEFAULT,          /* Y-Position auf dem Monitor */
                         400,          /* Fensterbreite              */
                         300,          /* Fensterhoehe               */
                         NULL,
                         NULL,
                         hInstance,
                         NULL );

    ShowWindow(hWnd, iCmdShow);
    UpdateWindow(hWnd);

    while(GetMessage(&amp;msg, NULL, 0, 0))
    {
        TranslateMessage(&amp;msg);
        DispatchMessage(&amp;msg);
    }

    return msg.wParam;
}

//-------------------------------------------------------------------------------------------------

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND hEditH;	 //Edithandle wird erstellt
	static HWND hButton; //Buttonhandle wird erstellt
	static HWND hButtonRead;

	char buffer[2];
	const char *pConst = &quot;leer&quot;;
	char *pText = new char[];
	pText = const_cast&lt;char*&gt;(pConst);

    switch(message)
    {

	case WM_PAINT:
      {
         PAINTSTRUCT ps;
         HDC         hDC;
         const char  szText[] = &quot;Hallo, dies ist der Text.&quot;;

		 //SYSTEMTIME tm; GetSystemTime(&amp;tm);
		 //long Zeit = (long) GetCurrentTime();
		 //GetSystemTime(), GetLocalTime()	//GetTickCount();
		 //sprintf(buffer, &quot;%d&quot;, 5);
		 itoa(123456, buffer, 10);	//itoa(Zahl, -&gt; char[], Basis);

         hDC = BeginPaint(hWnd, &amp;ps);
         {
			SetBkMode(hDC, TRANSPARENT); //setzt die Texthintergrundfarbe auf transparent
			TextOut(hDC, 50, 10, szText, sizeof(szText) - 1);
			TextOut(hDC, 50,100, pText, sizeof(pText));
			TextOut(hDC, 50,150,&quot;ABC &quot;, 50);
			TextOut(hDC, 50,200,buffer, sizeof(buffer)+8 );
			SetPixel(hDC, 2,2, BLACK_BRUSH);
         }
         EndPaint(hWnd, &amp;ps);

         return 0;
      }
    case WM_CREATE:
        {
            hEditH = CreateWindowEx(WS_EX_CLIENTEDGE,
                                   &quot;edit&quot;,
                                   NULL,    // &lt;- das ist der Inhalt des Editfelds
                                   WS_CHILD | WS_VISIBLE, //| WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL,
                                   0, 0, 0, 0,
                                   hWnd,
                                   NULL,
                                   ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                   NULL);

			hButton = CreateWindow(  &quot;button&quot;,
                                  &quot;Beenden&quot;,
                                  WS_CHILD | WS_VISIBLE,
                                  0, 0, 0, 0,
                                  hWnd,
                                  NULL,
                                  ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                  NULL);

			hButtonRead = CreateWindow(  &quot;button&quot;,
                                  &quot;read&quot;,
                                  WS_CHILD | WS_VISIBLE,
                                  0, 0, 0, 0,
                                  hWnd,
                                  NULL,
                                  ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                  NULL);
            return 0;
        }
    case WM_SIZE:
        {
            MoveWindow(hEditH, 80, 50, 100, 20, TRUE);
// MoveWindow(hEdit, 20, 50, LOWORD(lParam), HIWORD(lParam), TRUE);
// static bool MoveWindow(IntPtr handle, int x, int y, int width, int height, bool redraw);
			MoveWindow(hButton, LOWORD(lParam) / 2 - 50, HIWORD(lParam) - 30, 100, 22, TRUE);
			MoveWindow(hButtonRead, 200, 50, 50, 22, TRUE);
			return 0;
        }

	case WM_COMMAND:
		{
			if (lParam == (LPARAM)hButton)
				{
					if (HIWORD(wParam) == BN_CLICKED) SendMessage(hWnd, WM_CLOSE, 0, 0);
				}

			if (lParam == (LPARAM)hButtonRead)
				{
				if (HIWORD(wParam) == BN_CLICKED)	{  SendMessage(hEditH, WM_GETTEXT, 5, (LPARAM)pText);
/*
														//Textlänge ermitteln (die 1 für Terminierung)
														int le = SendMessage(hEditH,WM_GETTEXTLENGTH,0,0) + 1;

														//Entsprechend Speicher belegen
														char* buf = new char[le];

														//Window - Text in Buffer kopieren
														SendMessage(hEditH,WM_GETTEXT,(WPARAM)le,(LPARAM)buf);

														text = buf;
														//SendMessage(hwndEdit2, WM_GETTEXT, msize(textstring), (long) textstring);

														//in ein Integer konvertieren
														//int myVal = atoi(buf);
														//Speicher freigeben;
														//delete [] buf; 
*/
													}
				}

         return 0;
		}
    case WM_CLOSE:
        {
            DestroyWindow(hWnd);
            return 0;
        }
    case WM_DESTROY:
        {
            PostQuitMessage(0);
            return 0;
        }
    }
    return DefWindowProc(hWnd, message, wParam, lParam);
}

/*
char *buffer = NULL;
            int iLength;

            iLength = GetWindowTextLength(hEdit);

            buffer = (char*) malloc(iLength);

            GetWindowText(hEdit, buffer, iLength+1);

SENDMESSAGE()
Eine sehr breit einsetzbare Funktion ist SendMessage(...). Die allgemeine Syntax ist:
LRESULT SendMessage (  HWND hWnd,  UINT Msg,  WPARAM wParam,   LPARAM lParam );

Der erste Parameter legt das Fenster fest, an das die Nachricht gesendet werden soll. 
Dann folgt die Nachricht und ihre beiden Parameter.
Wir senden also die Nachricht EM_SETREADONLY mit den Parametern wParam = TRUE und lParam = 0. 
In MSDN finden Sie die betreffenden Informationen: 

*/
</code></pre>
<p>**Wer kann mir helfen das Programm zum laufen zubringen?<br />
Ich habe leider keine Erfahrung damit, war schon schwer genug das Programm so hinzubekommen wie es jetzt ist, und hab schon nach Lösungen in anderen vergleichbaren Threads gesucht doch nichts passendes gefunden.</p>
<p>Vielen Dank im Voraus für Hilfe.** <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>
<p>Grüsse rom4o</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1533912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1533912</guid><dc:creator><![CDATA[rom4o]]></dc:creator><pubDate>Mon, 23 Jun 2008 01:30:37 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 04:14:37 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if (lParam == (LPARAM)hButtonRead)
                {
                if (HIWORD(wParam) == BN_CLICKED)    {  SendMessage(hEditH, WM_GETTEXT, 5, (LPARAM)pText);
/*
                                                        //Textlänge ermitteln (die 1 für Terminierung)
                                                        int le = SendMessage(hEditH,WM_GETTEXTLENGTH,0,0) + 1;

                                                        //Entsprechend Speicher belegen
                                                        char* buf = new char[le];

                                                        //Window - Text in Buffer kopieren
                                                        SendMessage(hEditH,WM_GETTEXT,(WPARAM)le,(LPARAM)buf);

                                                        text = buf;
                                                        //SendMessage(hwndEdit2, WM_GETTEXT, msize(textstring), (long) textstring);

                                                        //in ein Integer konvertieren
                                                        //int myVal = atoi(buf);
                                                        //Speicher freigeben;
                                                        //delete [] buf;
*/
                                                    }
                }
</code></pre>
<p>an dieser stelle ist pText nich groß genug allokiert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1533913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1533913</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 23 Jun 2008 04:14:37 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 07:05:39 GMT]]></title><description><![CDATA[<p>1. Lerne C++, der folgene Code ist absoluter Unsinn:</p>
<pre><code class="language-cpp">char *pText = new char[];
pText = const_cast&lt;char*&gt;(pConst);
Und das auch noch mit jeder Nachricht.
</code></pre>
<p>2. Du kannst doch nicht erwarten in einen konstanten Speicher Daten einzulesen!<br />
3. Warum machst Du es nicht so, wie es da in dem auskommentierten Textsteht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1533954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1533954</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 23 Jun 2008 07:05:39 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 11:16:48 GMT]]></title><description><![CDATA[<p>Hallo, erst mal danke für die Antworten bisher.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13742">@BorisDieKlinge</a><br />
ich verstehe nicht wie du das meinst</p>
<blockquote>
<p>pText nich groß genug allokiert</p>
</blockquote>
<p>Was soll ich denn ändern dass es funktioniert?<br />
Ich habe folgendes probiert Zeile 64 statt</p>
<pre><code>char *pText = new char[];
</code></pre>
<p>habe ich einen größeren Zeichenbereich reserviert</p>
<pre><code>char *pText = new char[50];
</code></pre>
<p>hat aber nix gebracht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35992">@Martin</a> Richter<br />
*<strong>pText</strong> ist doch garnicht konstant, der Pointer zeigt ja nur auf eine Konstante<br />
weil ich zu begin den String leer ausgeben möchte, sobald der Button gedrückt wird<br />
soll der Pointer *<strong>pText</strong> auf den Inhalt des Editfensters zeigen.<br />
Und das was da grau auskommentiert ist hat nicht funktioniert, irgendwas ist immer noch absolut falsch.</p>
<p>Also brauche eindeutig weitere Hilfe <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>
<p>Viele Grüsse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534086</guid><dc:creator><![CDATA[rom4o]]></dc:creator><pubDate>Mon, 23 Jun 2008 11:16:48 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 12:03:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// Zeile 62
 char buffer[2]; 

// Zeile 80
 itoa(123456, buffer, 10);
</code></pre>
<p>&quot;buffer&quot; ist zu klein für das was itoa() machen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534101</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 23 Jun 2008 12:03:30 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 12:11:11 GMT]]></title><description><![CDATA[<p>Stimmt ist eigentlich zu klein, aber wenn du das Programm mal ausführst siehst du,<br />
dass trotzdem über Zeile 88</p>
<pre><code>TextOut(hDC, 50,200,buffer, sizeof(buffer)+8 );
</code></pre>
<p>der richtige Inhalt 123456 im Fenster ausgegeben wird.<br />
Das ist auch so eine Sache die ich überhaupt nicht verstehe.</p>
<p>Aber die Sache hier mit buffer hat aber eigentlich garnichts mit meinem eigentlichen Problem den Inhalt des Editfensters auszulesen und darzustellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534109</guid><dc:creator><![CDATA[rom4o]]></dc:creator><pubDate>Mon, 23 Jun 2008 12:11:11 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 12:51:48 GMT]]></title><description><![CDATA[<p>rom4o schrieb:</p>
<blockquote>
<p>*<strong>pText</strong> ist doch garnicht konstant, der Pointer zeigt ja nur auf eine Konstante<br />
weil ich zu begin den String leer ausgeben möchte, sobald der Button gedrückt wird<br />
soll der Pointer *<strong>pText</strong> auf den Inhalt des Editfensters zeigen.<br />
Und das was da grau auskommentiert ist hat nicht funktioniert, irgendwas ist immer noch absolut falsch.</p>
</blockquote>
<p>1. Der Zeiger zeigt eben auf einen Konstanten Speicher, übel genug, dass Du const weggecastet hast.<br />
2. Wenn Du WM_GETTEXT ausführst wird hier kein Zeiger getauscht, sondern der Datenbereich benutzt auf den pText zeigt und der ist eben Konstant!<br />
3. pText wird durch WM_GETEXT mit einer Kopie gefüllt. Er kann nach Drücken des Zeigers auf nichts Anderes zeigen.<br />
4. Dir ist noch nicht klar, was die Lebenszeit von Variablen angeht. pText wird jedesmal neu initialisiert, bei jeder Nachricht. Ist Dir klar was das bedeutet?</p>
<p>rom4o schrieb:</p>
<blockquote>
<p>Also brauche eindeutig weitere Hilfe <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>
</blockquote>
<p>Du brauchst einen Grundkurs bzgl. C/C++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534134</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 23 Jun 2008 12:51:48 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Mon, 23 Jun 2008 19:09:27 GMT]]></title><description><![CDATA[<p>@ Martin Richter<br />
Hallo nun ja du magst recht haben, und meine Kenntnisse sind wirklich nicht besonders gut, fange auch gerade erst an mit c++, alles ganz anders als in java.<br />
Aber nun ja wie kann ich denn nun dieses Problem lösen.<br />
Vielleicht kannst du mir ja bei der Lösung helfen, es muss doch theoretisch nicht viel am Code geändert werden.</p>
<blockquote>
<p>Du brauchst einen Grundkurs bzgl. C/C++</p>
</blockquote>
<p>Ich hab schon sehr viel im Web gesucht habe keinen Kurs gefunden der mir bei der Lösung des Problems hilft, desshalb bin ich ja hier in diesem Forum gelandet.</p>
<p>Viele Grüsse, und danke für weitere Ratschläge</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1534378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1534378</guid><dc:creator><![CDATA[rom4o]]></dc:creator><pubDate>Mon, 23 Jun 2008 19:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Fri, 27 Jun 2008 08:53:32 GMT]]></title><description><![CDATA[<p>Hat denn keiner einen Tip wie ich das Problem lösen kann???</p>
<p><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/1536805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536805</guid><dc:creator><![CDATA[rom4o]]></dc:creator><pubDate>Fri, 27 Jun 2008 08:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt aus Editfenster mit SendMessage(..) per Button an Hauptfenster übergeben on Fri, 27 Jun 2008 10:25:18 GMT]]></title><description><![CDATA[<p>rom4o schrieb:</p>
<blockquote>
<blockquote>
<p>Du brauchst einen Grundkurs bzgl. C/C++</p>
</blockquote>
<p>Ich hab schon sehr viel im Web gesucht habe keinen Kurs gefunden der mir bei der Lösung des Problems hilft, desshalb bin ich ja hier in diesem Forum gelandet.</p>
</blockquote>
<p><a href="http://wwws.htwk-leipzig.de/~sschwarz/volkart/html/inhalt.html" rel="nofollow">http://wwws.htwk-leipzig.de/~sschwarz/volkart/html/inhalt.html</a><br />
Fange vorne an und arbeite Dich bis hinten durch. Dein &quot;Problem&quot; ist, dass Du sämliche C++-Schlüsselwörter falsch verwendest (siehe Martin's Hinweis). So ein &quot;Problem&quot; wird selbstverständlich nicht explizit in einem Tutorial angesprochen. Lerne einfach, wie man diese verwendet.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
<pre><code class="language-cpp">int iLen = static_cast&lt;int&gt;(SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0));
if(!iLen)
  ...
TCHAR* pszBuf = new TCHAR[++iLen];
SendMessage(hEdit, WM_GETTEXT, iLen, reinterpret_cast&lt;LPARAM&gt;(pszBuf));
// Irgendwas mit 'pszBuf' machen...

delete [] pszBuf;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1536886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536886</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Fri, 27 Jun 2008 10:25:18 GMT</pubDate></item></channel></rss>