<?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[Seltsamer Dialog =)]]></title><description><![CDATA[<p>Hi Leute !<br />
Also habe mir einen Dialog mit dazu gehörigem Handler gebastelt. Soweit so gut, wenn ich jetzt via WM_COMMAND die Nachricht abfangen will, gehts im begrenzten Maße <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="🙂"
    /> Und zwar erscheint der Dialog erst dann wenn ich die ALT Taste drücken.</p>
<p>So hier zu mein Aufruf des Dialogs:</p>
<pre><code>case WM_COMMAND:
switch (LOWORD (wPara))
{
           case ID_MAP:
	          DialogBox(hInstMain,MAKEINTRESOURCE(DLG_NEWMAP), hWnd, MapSetProc);
	     break;			
}
</code></pre>
<p>So dann der MessageHandler für den Dialog:</p>
<pre><code>BOOL CALLBACK MapSetProc (HWND hDialog,UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch (msg)
	{
		case WM_INITDIALOG:

		break;

		break;
		case WM_COMMAND:
			switch (LOWORD (wParam))
			{
				case WM_DESTROY:
					EndDialog(hDialog,0);
					return 0;
				break;

			}
		break;
		default: 
			return FALSE;
	} 

	return TRUE;
}
</code></pre>
<p>Für Hilfe wäre ich echt dankbar.<br />
Mfg<br />
Reasar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/106565/seltsamer-dialog</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 02:25:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/106565.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Apr 2005 14:21:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsamer Dialog =) on Mon, 11 Apr 2005 14:21:24 GMT]]></title><description><![CDATA[<p>Hi Leute !<br />
Also habe mir einen Dialog mit dazu gehörigem Handler gebastelt. Soweit so gut, wenn ich jetzt via WM_COMMAND die Nachricht abfangen will, gehts im begrenzten Maße <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="🙂"
    /> Und zwar erscheint der Dialog erst dann wenn ich die ALT Taste drücken.</p>
<p>So hier zu mein Aufruf des Dialogs:</p>
<pre><code>case WM_COMMAND:
switch (LOWORD (wPara))
{
           case ID_MAP:
	          DialogBox(hInstMain,MAKEINTRESOURCE(DLG_NEWMAP), hWnd, MapSetProc);
	     break;			
}
</code></pre>
<p>So dann der MessageHandler für den Dialog:</p>
<pre><code>BOOL CALLBACK MapSetProc (HWND hDialog,UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch (msg)
	{
		case WM_INITDIALOG:

		break;

		break;
		case WM_COMMAND:
			switch (LOWORD (wParam))
			{
				case WM_DESTROY:
					EndDialog(hDialog,0);
					return 0;
				break;

			}
		break;
		default: 
			return FALSE;
	} 

	return TRUE;
}
</code></pre>
<p>Für Hilfe wäre ich echt dankbar.<br />
Mfg<br />
Reasar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/764095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764095</guid><dc:creator><![CDATA[Reasar]]></dc:creator><pubDate>Mon, 11 Apr 2005 14:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Mon, 11 Apr 2005 16:54:57 GMT]]></title><description><![CDATA[<p>1.) Was hat das zweite break; bei WM_INITDIALOG zu suchen?<br />
2.) Warum fängst du WM_DESTROY in WM_COMMAND ab <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>Was genau hast du mit diesem komischen Konstruk überhaupt vor?!</p>
<p>Vielleicht solltest du dir <a href="http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/dialogboxes/usingdialogboxes.asp" rel="nofollow">hier</a> nochmal die Beispielcodes anschauen <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/764208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/764208</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 11 Apr 2005 16:54:57 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 11:06:18 GMT]]></title><description><![CDATA[<p>Sorry das ich mich erst so spät melde <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="🙂"
    /> Also hab es nach dem MSDN Beispiel abgeglichen, trotzdem öffnet sich erst der Dialog nachdem ich irgendeine beliebge Taste gedrüclt habe.<br />
Also der ersten Codeteil ist nur der Aufruf des Dialoges. Hab als ein Menü gebastelt welcher aus Punkt ID_MAP enthält !<br />
Der zweite Codeteil soll einfach der Messagehandler für den Dialog sein ist aber auch auf simpelste reduziert (zur Zeit).<br />
Ist es vielleicht von Bedeuting das ich mein Hauptfenster mit Scrollbalken (horizontal und vertikal) versehen habe ? Weil man ja da auch nach den wParam &quot;switcht&quot; ???<br />
MfG<br />
Reasar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/766447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766447</guid><dc:creator><![CDATA[Reasar]]></dc:creator><pubDate>Thu, 14 Apr 2005 11:06:18 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 11:10:57 GMT]]></title><description><![CDATA[<p>Noch als kleiner Nachtrag: Selbst wenn ich eine einfach Message Box erscheinen lassen will (im ersten Codeteil), erscheint dieser erst nach drücken einer beliebigen Taste <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/766451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766451</guid><dc:creator><![CDATA[Reasar]]></dc:creator><pubDate>Thu, 14 Apr 2005 11:10:57 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 11:45:38 GMT]]></title><description><![CDATA[<p>Wie sieht denn dann dein korrigierter Code jetzt aus - aus deiner Beschreibung werde ich nicht so richtig schlau <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/766485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766485</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 14 Apr 2005 11:45:38 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 11:55:57 GMT]]></title><description><![CDATA[<p>Also hab noch ein wenig rumgedocktort <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="😉"
    /> Also allgemein hat das Programm das Problem, wenn irgendetwas im WM_COMMAND case abgearbeitet werden soll:<br />
Also ich schreibe zum Beispiel:</p>
<pre><code>case WM_COMMAND:
	MessageBox(NULL, &quot;Hallo&quot;, &quot;MyMessage&quot;, MB_OK);		
break;
</code></pre>
<p>Selbst dabei muß ich erst irgendeine Taste drücken damit die MessageBox erscheint:</p>
<p>Wenn es vielleicht weiter hilft hier der MessageHandler zum Fenster:</p>
<pre><code>LRESULT CALLBACK WinProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
	int VertMin=0;
	int VertMax=VerticalFields * FieldHigth - WinY;

	int HorzMin=0;	
	int HorzMax=HorizontalFields * FieldWidth - WinX;
	int iVertScrollPos = GetScrollPos(hWnd, SB_VERT);
	int iHorzScrollPos = GetScrollPos(hWnd, SB_HORZ);

	filesave[0] = NULL;
	SetScrollRange(hWnd, SB_VERT, VertMin, VertMax, TRUE);
	SetScrollRange(hWnd, SB_HORZ, HorzMin, HorzMax, TRUE);

	switch (msg)
	{
		case WM_VSCROLL:
			switch (LOWORD(wParam))
			{
				if (VertMax &gt; 0)
				{
					case SB_LINEDOWN:
						if (iVertScrollPos &lt; VertMax)
						{
							iVertScrollPos+=FieldHigth;

						}
					break
						;
					case SB_LINEUP:
						if (iVertScrollPos &lt;= VertMax)
						{
							iVertScrollPos-=FieldHigth;
						}
					break;

					case SB_THUMBPOSITION:
						iVertScrollPos = HIWORD(wParam);
					break;

					case SB_PAGEUP:
						iVertScrollPos = 0;
					break;

					case SB_PAGEDOWN:
						iVertScrollPos = VertMax;
					break;

					default:
						return 0;
					break;
				}
			}
			SetScrollPos(hWnd, SB_VERT, iVertScrollPos, TRUE);
			InvalidateRect(hWnd, NULL, TRUE);
			return 0;		
		break;

		case WM_HSCROLL:
			switch (LOWORD(wParam))
			{
				case SB_LINERIGHT:
					if (iHorzScrollPos &lt; HorzMax)
					{
						iHorzScrollPos+=FieldWidth;
					} 	
				break;

				case SB_LINELEFT:
					if (iHorzScrollPos &gt; 0)
					{
						iHorzScrollPos-=FieldWidth;
					}	
				break;

				case SB_PAGERIGHT:
						iHorzScrollPos = HorzMax;		
				break;

				case SB_PAGELEFT:
						iHorzScrollPos = HorzMin;		
				break;

				case SB_THUMBPOSITION:
						iHorzScrollPos = HIWORD(wParam);
				break;

				default: 
					return 0;
				break;
			}
			SetScrollPos(hWnd, SB_HORZ, iHorzScrollPos, TRUE);
			InvalidateRect(hWnd, NULL, TRUE);
			return 0;			
		break; 
            // Irgendwo hier ist ein Problem =)
		case WM_COMMAND:
			switch (LOWORD(wParam))
			{
				case MI_NEW:

					DialogBox(hInstMain, MAKEINTRESOURCE(DLG_DIALOG), hWnd, (DLGPROC) MapSetProc);
			      break;
			}
		break;
            //Wo ist es bloß ???? 	

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

		case WM_PAINT:

			if (NewMap == true || load == true)
			{
				Brett.drawMap(hWnd,hDC, iVertScrollPos);
				InvalidateRect(hWnd, NULL, FALSE);
			}

			return 0; // Return 0 end wichtig !!!!
		break;
	}
	return DefWindowProc(hWnd, msg, wParam, lParam);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/766502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766502</guid><dc:creator><![CDATA[Reasar]]></dc:creator><pubDate>Thu, 14 Apr 2005 11:55:57 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 12:50:37 GMT]]></title><description><![CDATA[<p>Reasar schrieb:</p>
<blockquote>
<p>Also allgemein hat das Programm das Problem, wenn irgendetwas im WM_COMMAND case abgearbeitet werden soll:<br />
Also ich schreibe zum Beispiel:</p>
<pre><code>case WM_COMMAND:
	MessageBox(NULL, &quot;Hallo&quot;, &quot;MyMessage&quot;, MB_OK);		
break;
</code></pre>
<p>Selbst dabei muß ich erst irgendeine Taste drücken damit die MessageBox erscheint:</p>
</blockquote>
<p>Das ist doch logisch - sonst bekommst du ja auch kein WM_COMMAND <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/766563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766563</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 14 Apr 2005 12:50:37 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 13:27:58 GMT]]></title><description><![CDATA[<p>Und deshalb muß ich eine Taste drücken ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/766626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766626</guid><dc:creator><![CDATA[Reasar]]></dc:creator><pubDate>Thu, 14 Apr 2005 13:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 13:37:59 GMT]]></title><description><![CDATA[<p>Acho so, versteh jetzt was du meinst <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="🙂"
    /> Ja aber das Problem habe ich ja auch wenn ich schreibe</p>
<pre><code>case WM_COMMAND:
switch (LOWORD wParam))
{     
          case ID_Test: 
              MessageBox(NULL, &quot;Hallo&quot;, &quot;MyMessage&quot;, MB_OK);        
          break;
}
break;
</code></pre>
<p>Also hier bei ist ID_Test ein Menü Item</p>
]]></description><link>https://www.c-plusplus.net/forum/post/766640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766640</guid><dc:creator><![CDATA[Reasar]]></dc:creator><pubDate>Thu, 14 Apr 2005 13:37:59 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 15:49:17 GMT]]></title><description><![CDATA[<p>Das sollte dann kommen, wenn du den Menü-Eintrag anklickst <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/766808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766808</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 14 Apr 2005 15:49:17 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 16:51:12 GMT]]></title><description><![CDATA[<p>Das ist ja grade der springende Punkt :p Das tut es erst, wenn ich den Menüpunkt anklicke und dann eine beliebege Taste drücke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/766880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766880</guid><dc:creator><![CDATA[Reasar]]></dc:creator><pubDate>Thu, 14 Apr 2005 16:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 18:10:09 GMT]]></title><description><![CDATA[<p>Mir fällt noch so auf, dass du in WM_PAINT den Fensterinhalt nirgendswo als gültig markierst.<br />
D.h. Windows wird vermutl. laufen dein Fenster mit WM_PAINT Nachrichten zuspammen <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=";D"
      alt="😉"
    /><br />
Du solltest entweder BeginPaint() und EndPaint() benutzen oder ValidateRect() aufrufen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/766945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766945</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Thu, 14 Apr 2005 18:10:09 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Dialog =) on Thu, 14 Apr 2005 19:07:36 GMT]]></title><description><![CDATA[<p>Hatte den Code gar nicht so genau angeschaut, aber das von geeky ist natürlich vollkommen richtig.</p>
<p>Und dann noch InvalidateRect in WM_PAINT *schauder*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/766985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/766985</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 14 Apr 2005 19:07:36 GMT</pubDate></item></channel></rss>