<?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[Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert]]></title><description><![CDATA[<p>Hi<br />
Ich versuche mich zur Zeit daran ein Frontend für ne DB in C++ zu schreiben.<br />
Das Einbinden der MySQl API hat auch wunderbar funktioniert und kann erfolgreich über nen Button Connecten und Disconnecten.</p>
<p>nun will ich noch einen Button haben der wenn ich auf diesen Klicke ein neues Fenster erscheinen lässt in welcehn ich wiederum auch Buttons usw. erstellen könnte.</p>
<p>aber irgendwie komm ich an dieser stelle nicht weiter. hab jetzt schon zwei Tage damit verbracht das auf die reihe zu bekommen aber es will einfach nicht klappen.</p>
<p>Und ich würde noch gerne wissen wie ich die Rückgabewerte des Fensters bekommen kann.</p>
<p>so das wäre es für erste.<br />
danke schon mal für die Hilfe.</p>
<p>mfg<br />
Fonce</p>
<p>PS: als IDE verwende ich MS Visual Studio 6.0</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180017/bei-klick-auf-button-neues-fenster-erstellen-amp-rückgabewert</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 15:34:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180017.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Apr 2007 15:58:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Fri, 27 Apr 2007 15:58:32 GMT]]></title><description><![CDATA[<p>Hi<br />
Ich versuche mich zur Zeit daran ein Frontend für ne DB in C++ zu schreiben.<br />
Das Einbinden der MySQl API hat auch wunderbar funktioniert und kann erfolgreich über nen Button Connecten und Disconnecten.</p>
<p>nun will ich noch einen Button haben der wenn ich auf diesen Klicke ein neues Fenster erscheinen lässt in welcehn ich wiederum auch Buttons usw. erstellen könnte.</p>
<p>aber irgendwie komm ich an dieser stelle nicht weiter. hab jetzt schon zwei Tage damit verbracht das auf die reihe zu bekommen aber es will einfach nicht klappen.</p>
<p>Und ich würde noch gerne wissen wie ich die Rückgabewerte des Fensters bekommen kann.</p>
<p>so das wäre es für erste.<br />
danke schon mal für die Hilfe.</p>
<p>mfg<br />
Fonce</p>
<p>PS: als IDE verwende ich MS Visual Studio 6.0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274722</guid><dc:creator><![CDATA[Fonce]]></dc:creator><pubDate>Fri, 27 Apr 2007 15:58:32 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Fri, 27 Apr 2007 16:58:05 GMT]]></title><description><![CDATA[<p>mh..habs nun hinbekommen das er ein neues Fenster erstellt.<br />
allerdings habe ich das problem das er in dieses Fenster das selbe zeichnet wie in das MainWindow <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>
<p>EDIT:<br />
also zeichenen nur ein einem Fenster funktioniert.<br />
nur die sachen aus dem WM_Create teil werden in beiden Fenstern angezeigt <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/1274737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274737</guid><dc:creator><![CDATA[Fonce]]></dc:creator><pubDate>Fri, 27 Apr 2007 16:58:05 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Fri, 27 Apr 2007 17:05:45 GMT]]></title><description><![CDATA[<p>erm du solltest vllt. ne zweite wndclass erstellen oder nen dialog verwenden.</p>
<p>mfg tobZel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274766</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Fri, 27 Apr 2007 17:05:45 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Fri, 27 Apr 2007 17:51:26 GMT]]></title><description><![CDATA[<p>Ich würde jetzt spontan sagen, das zweite fenster im &quot;WS_CHILD&quot; style erzeugen und mit &quot;SetWindowLong&quot; einen Wert übergeben, der unter &quot;WM_NOTIFY&quot; -&gt; &quot;switch(wParam){&quot;..... im eventhandler abgefangen werden kann. Mit diesem Wert kannst du dann Sachen an das Childwindow schicken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274802</guid><dc:creator><![CDATA[Ideee]]></dc:creator><pubDate>Fri, 27 Apr 2007 17:51:26 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Fri, 27 Apr 2007 18:29:24 GMT]]></title><description><![CDATA[<p>ne zweite WND klasse hab ich und wenn ich das Fenster als WS_CHILD mache kann ich es nur ein dem Bereich der MainWindow verschieben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274823</guid><dc:creator><![CDATA[Fonce]]></dc:creator><pubDate>Fri, 27 Apr 2007 18:29:24 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Fri, 27 Apr 2007 19:16:02 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">nur die sachen aus dem WM_Create teil werden in beiden Fenstern angezeigt :confused:
</code></pre>
<p>Auch zweite wnd proc und bei CreateWindow die zweite klasse angegeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274830</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Fri, 27 Apr 2007 19:16:02 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Fri, 27 Apr 2007 19:38:51 GMT]]></title><description><![CDATA[<p>Ideee schrieb:</p>
<blockquote>
<p>Ich würde jetzt spontan sagen, das zweite fenster im &quot;WS_CHILD&quot; style erzeugen und mit &quot;SetWindowLong&quot; einen Wert übergeben, der unter &quot;WM_NOTIFY&quot; -&gt; &quot;switch(wParam){&quot;..... im eventhandler abgefangen werden kann. Mit diesem Wert kannst du dann Sachen an das Childwindow schicken.</p>
</blockquote>
<p>Sinnlos.</p>
<p>Fonce schrieb:</p>
<blockquote>
<p>ne zweite WND klasse hab ich und wenn ich das Fenster als WS_CHILD mache kann ich es nur ein dem Bereich der MainWindow verschieben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Ja, das ist auch logisch.</p>
<p>Zeig mal Deinen Code, dann können wir uns das rumraten sparen. Glaube das ist ein simpler Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274839</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Fri, 27 Apr 2007 19:38:51 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Klick auf Button neues Fenster erstellen &amp;amp; Rückgabewert on Sat, 28 Apr 2007 07:13:09 GMT]]></title><description><![CDATA[<p>habs nun selbst hinbekommen<br />
musste halt nur für das Fenster ne extra Callback Funktion erstellen.</p>
<p>müsste jetzt nur wissen wie ich nen Rückgabe werd von dieser bekommen kann?<br />
und wie ich es schaffe das die Buttons direkt nach dem öffnen des Fensters gezeichnet werden und nicht erst nach dem ich es bewegt habe <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>
<p>hier mal mein Code(welcher allerdings nicht ganz sauber ist da ich zur zeit erstmal in der Testphase bin um neue Funktionen zu lernen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> )</p>
<pre><code class="language-cpp">/******************************************************************
Programm: 3DFusion Graka DB Frontend
Funktion: Frontend für die Grafikkarten Datebenbank von 3DFusion
Bemerkung: 
Autor(en): Julian Rehborn
letzte Aenderung:
		28-04-07 JR            
******************************************************************/
#include &quot;StdAfx.h&quot;
#include &quot;menu.h&quot;

bool Connectionstable=false;

//Hier werden die die Datenbank, der Benutzername usw.
//welche für die Verbidung mit der MySQL Datenbank notwendig sind
//Definiert
#define def_host_name &quot;localhost&quot;
#define def_user_name &quot;Fonce&quot;
#define def_passwort &quot;zoggen&quot;
#define def_db_name &quot;3dfusion&quot;

unsigned int error;

MYSQL *my;

HWND hWnd = 0, hWnd2=0;

LRESULT CALLBACK WindowFunc2(HWND hwnd2, UINT msg2, WPARAM wParam2, LPARAM lParam2);

int WINAPI WinMain(HINSTANCE hInstance,     
                   HINSTANCE hPrevInstance, 
                   LPSTR lpCmdLine,         
                   int nCmdShow)            
{   
    hWnd = CreateMainWindow(hInstance);
	//hWnd2 = CreateMainWindow(hInstance);
    if(0 == hWnd)
    {
        MessageBox(0,&quot;Fehler&quot;,&quot;Fehler&quot;,MB_OK);
        return 0;
    }
    MSG msg;
    while(GetMessage(&amp;msg,NULL,0,0))
	{
			TranslateMessage(&amp;msg);
			DispatchMessage(&amp;msg);
    }
	return 0;
}

HWND CreateMainWindow(HINSTANCE hInstance)
{
	HANDLE brush = CreateSolidBrush(RGB(236,233,216));
    WNDCLASSEX wndClass;              
    wndClass.cbSize        = sizeof(WNDCLASSEX);         
    wndClass.style         = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW; 
    wndClass.lpfnWndProc   = WindowFunc;              
    wndClass.cbClsExtra    = 0;                     
    wndClass.cbWndExtra    = 0;                     
    wndClass.hInstance     = hInstance;             
    wndClass.hbrBackground = (HBRUSH)GetStockObject(LTGRAY_BRUSH); 
    wndClass.hCursor       = LoadCursor(NULL, IDC_ARROW); 
    wndClass.lpszMenuName  = &quot;MEINMENU&quot;;                        
    wndClass.lpszClassName = &quot;WindowClass&quot;;               
    wndClass.hIcon         = LoadIcon(NULL, /*IDI_WINLOGO*//*IDI_ICON1*/MAKEINTRESOURCE(IDI_ICON1));
    wndClass.hIconSm       = LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON1));
    RegisterClassEx(&amp;wndClass);
    return CreateWindowEx(NULL, &quot;WindowClass&quot;, &quot;3DFusion Grafikkarten Datenbank Frontend&quot;, WS_OVERLAPPEDWINDOW | WS_VISIBLE, 12, 125, 1024, 768, NULL, NULL, hInstance, NULL);
}

HWND CreateMenuWindow(HINSTANCE hInstance2)
{

	WNDCLASSEX wndClass2;
	wndClass2.cbSize        = sizeof(WNDCLASSEX);         
    wndClass2.style         = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW; 
    wndClass2.lpfnWndProc   = WindowFunc2;              
    wndClass2.cbClsExtra    = 0;                     
    wndClass2.cbWndExtra    = 0;                     
    wndClass2.hInstance     = hInstance2;             
    wndClass2.hbrBackground = (HBRUSH)GetStockObject(LTGRAY_BRUSH); 
    wndClass2.hCursor       = LoadCursor(NULL, IDC_ARROW); 
    wndClass2.lpszMenuName  = NULL;                        
    wndClass2.lpszClassName = &quot;WindowClass2&quot;;               
    wndClass2.hIcon         = LoadIcon(NULL, IDI_WINLOGO);
    wndClass2.hIconSm       = LoadIcon(NULL, IDI_WINLOGO);
    RegisterClassEx(&amp;wndClass2);
	return CreateWindowEx(NULL, &quot;WindowClass2&quot;, &quot;Test&quot;, WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 200, 200, hWnd, NULL, hInstance2, NULL);
}

LRESULT CALLBACK WindowFunc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
//	HDC hDC;
	HINSTANCE	hInstance2=NULL;
    switch(msg)
    {
		case WM_CREATE:
					break;
		case WM_KEYDOWN:
					/*switch(wParam)
					{
						case VK_ESCAPE:
							SendMessage(hwnd, WM_CLOSE, 0, 0);
							break;
					}*/
					case WM_COMMAND:
					{
						if (HIWORD(wParam) == BN_CLICKED)
						{
							switch(LOWORD(wParam))
							{
								case ID_Exit:
										mysql_close(my);            // verbindung trennen
										SendMessage(hwnd, WM_CLOSE, 0, 0);	
									break;
								case ID_Connect2:

										switch(Connectionstable)
										{
											case false:
													/*my = mysql_init(NULL);
													if(my == NULL) {
													   fprintf(stderr, &quot;Initialisierung fehlgeschlagen\n&quot;);
													   exit (EXIT_FAILURE);
													}
													if( mysql_real_connect (
																	my,            // Zeiger auf MYSQL-Handler
																	def_host_name, // Host-Name
																	def_user_name, // User-Name
																	def_passwort,  // Passwort für user_name
																	def_db_name,   // Name der Datenbank
																	0,             // Port (default=0)
																	NULL,          // Socket (default=NULL)
																	0    ))        // keine Flags  )  == NULL

													{
														 error = mysql_errno(my);
													}
													else
													{
														SetWindowText(reinterpret_cast&lt;HWND&gt;(lParam), TEXT(&quot;Disconnect&quot;)); 
														Connectionstable=true;
													}
													break;*/
													CreateMenuWindow(hInstance2);
											case true:
													mysql_close(my);
													SetWindowText(reinterpret_cast&lt;HWND&gt;(lParam), TEXT(&quot;Connect&quot;)); 
													Connectionstable=false;
												break;
										}
										//CreateMenuWindow(hInstance2);
									break;
								case ID_DISCONNECT:
										mysql_close(my);
									break;
							}
						}
					}
				break;

		case WM_DESTROY:
                    PostQuitMessage(0);
                    return 0;
                break;

        case WM_PAINT:
                    PAINTSTRUCT ps;
                    HDC hDC,hDC2;
                    hDC = BeginPaint(hWnd,&amp;ps);

					//Achtung hier beginnt der Bereich zum Zeichnen

					//Achtung hier endet der Bereich zum Zeichnen

                    EndPaint(hWnd,&amp;ps);

					hDC2 = BeginPaint(hWnd2,&amp;ps);

					LineTo(hDC2, 100,100);

					EndPaint(hWnd2, &amp;ps);

                    return 0;
                break;
    }

    return (DefWindowProc(hwnd, msg, wParam, lParam));
}

LRESULT CALLBACK WindowFunc2(HWND hwnd2, UINT msg2, WPARAM wParam2, LPARAM lParam2)
{
//	HDC hDC;
	HINSTANCE	hInstance2=NULL;
    switch(msg2)
    {
		case WM_CREATE:
					CreateWindowA(&quot;BUTTON&quot;, &quot;Start&quot;,     WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 5,  5, 100, 30, hwnd2, (HMENU)ID_Test,     ((LPCREATESTRUCT)lParam2)-&gt;hInstance, NULL); 

					break;
		case WM_KEYDOWN:
					/*switch(wParam)
					{
						case VK_ESCAPE:
							SendMessage(hwnd, WM_CLOSE, 0, 0);
							break;
					}*/
					case WM_COMMAND:
					{
						if (HIWORD(wParam2) == BN_CLICKED)
						{
							switch(LOWORD(wParam2))
							{
								case ID_Test:
									break;
								default:
								//	int i;
									break;
							}
						}
					}
				break;

		case WM_DESTROY:
                    //PostQuitMessage(0);
					SendMessage(hwnd2, WM_CLOSE, 0, 0);
                    return 0;
                break;

        case WM_PAINT:
                    PAINTSTRUCT ps;
                    HDC hDC2;

					hDC2 = BeginPaint(hWnd2,&amp;ps);

					LineTo(hDC2, 100,100);

					EndPaint(hWnd2, &amp;ps);

                    return 0;
                break;
    }

    return (DefWindowProc(hwnd2, msg2, wParam2, lParam2));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1274954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274954</guid><dc:creator><![CDATA[Fonce]]></dc:creator><pubDate>Sat, 28 Apr 2007 07:13:09 GMT</pubDate></item></channel></rss>