<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Approximatrix Forums — "Dialogs" in AppGraphics]]></title>
		<link>https://forums.approximatrix.com/viewtopic.php?id=444</link>
		<atom:link href="https://forums.approximatrix.com/extern.php?action=feed&amp;tid=444&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in "Dialogs" in AppGraphics.]]></description>
		<lastBuildDate>Wed, 06 Oct 2021 12:02:40 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3796#p3796</link>
			<description><![CDATA[<div class="quotebox"><cite>Klaus Asmus wrote:</cite><blockquote><p>Hi Jeff, <br />I am restarting developement of my program for costing for shipstructures using the latest version of SF.<br />I did not use it for a longer time and found an unwanted reaction on hitting the windows cross on top of dioalogs: It causes a crash or it does not return to the calling window. All my dialogs&nbsp; have buttons to exit and return to the calling window. The cross at top is not needed. Is it possible te deactivate it?<br />Regards Klaus</p></blockquote></div><p>There is no way to deactivate the window&#039;s close button.&nbsp; However, recent versions of AppGraphics include a routine <em>setwindowclosecallback</em> that will trigger a subroutine call when a window is closed, regardless of how it occurs.&nbsp; If you set up a callback routine properly, it should be able to do the same thing gracefully4 that your exit buttons do.</p>]]></description>
			<author><![CDATA[null@example.com (jeff)]]></author>
			<pubDate>Wed, 06 Oct 2021 12:02:40 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3796#p3796</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3795#p3795</link>
			<description><![CDATA[<p>The calls to <em>getwindowwidth</em> and <em>getwindowheight</em> return the true width and height of the window, the equivalent of the Windows API call <a href="https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowrect">GetWindowRect</a>.&nbsp; The true size includes the size of window decorations (like the title bar, border, etc.) and, if present, a menu.&nbsp; </p><p>When you specify a window size to <em>initwindow</em>, it actually is specifying the window&#039;s client area where drawing can take place, and it does not include the decorations.</p>]]></description>
			<author><![CDATA[null@example.com (jeff)]]></author>
			<pubDate>Wed, 06 Oct 2021 11:59:15 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3795#p3795</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3794#p3794</link>
			<description><![CDATA[<p>Hi Jeff,</p><p>I have a question regarding the screen resolution in pixels using APPGRAPHICS. When a window is created of width and height of 800,600 using initwindow(800, 600, title=&quot;Example Application&quot;), the functions getwindowwidth ( ) and getwindowheight ( ) produce pixels of 806 and 629. In comparision, the functions getmaxx ( ) and getmaxy ( ) produce 799 and 599 as they should. <br />Why do these function calls produce different window dimension?</p><p>Moreover, when subsequently initwindow (getwindowwidth ( ), getwindowheight ( ), &quot;EXAMPLE WINDOW&quot;, DEFAULT_POSITION , DEFAULT_POSITION , .FALSE., .TRUE.) is called, then functions getwindowwidth ( ) and getwindowheight ( ) produce pixels of 812 and 658.&nbsp; <br />Why has the window dimensions gotten larger?</p><p>EXAMPLE CODE:<br />&nbsp; &nbsp; INTEGER :: window, initwin</p><p>&nbsp; &nbsp; &nbsp; &nbsp; !--- Display screen in pixel coordinates<br />&nbsp; &nbsp; &nbsp; &nbsp; !--- Create a window 800 pixels wide by 600 pixels tall.<br />&nbsp; &nbsp; &nbsp; &nbsp; ! (width,height)<br />&nbsp; &nbsp; &nbsp; &nbsp; ! (0,0).....................................(800,0)<br />&nbsp; &nbsp; &nbsp; &nbsp; !&nbsp; .<br />&nbsp; &nbsp; &nbsp; &nbsp; !&nbsp; .<br />&nbsp; &nbsp; &nbsp; &nbsp; !&nbsp; .<br />&nbsp; &nbsp; &nbsp; &nbsp; ! (0,600)...................................(800,600)</p><p>&nbsp; &nbsp; !--- Initialized window x,y dimensions (800,600)<br />&nbsp; &nbsp; &nbsp; &nbsp; window = initwindow(800, 600, title=&quot;Example Application&quot;)</p><p>&nbsp; &nbsp; &nbsp; &nbsp; !-------------------------------------<br />&nbsp; &nbsp; &nbsp; &nbsp; !INITWIN = initwindow (getwindowwidth ( ), getwindowheight ( ), &amp;<br />&nbsp; &nbsp; &nbsp; &nbsp; !&quot;EXAMPLE WINDOW&quot;, DEFAULT_POSITION , DEFAULT_POSITION , &amp;<br />&nbsp; &nbsp; &nbsp; &nbsp; !.FALSE., .TRUE.)</p><p>&nbsp; &nbsp; &nbsp; &nbsp; !--- Width in pixels of the current window<br />&nbsp; &nbsp; &nbsp; &nbsp; !PRINT *, &#039;INITWIN-XTOTAL_PIX = &#039;, getwindowwidth ( )&nbsp; &nbsp; !--&gt; 812<br />&nbsp; &nbsp; &nbsp; &nbsp; !!--- Height in pixels of the current window<br />&nbsp; &nbsp; &nbsp; &nbsp; !PRINT *, &#039;INITWIN-YTOTAL_PIX = &#039;, getwindowheight ( )&nbsp; &nbsp;!--&gt; 658<br />&nbsp; &nbsp; &nbsp; &nbsp; !-------------------------------------</p><p>&nbsp; &nbsp; &nbsp; &nbsp; !--- Width in pixels of the current window<br />&nbsp; &nbsp; &nbsp; &nbsp; PRINT *, &#039;XTOTAL_PIX = &#039;, getwindowwidth ( )&nbsp; &nbsp; !--&gt; 806</p><p>&nbsp; &nbsp; &nbsp; &nbsp; !--- Height in pixels of the current window<br />&nbsp; &nbsp; &nbsp; &nbsp; PRINT *, &#039;YTOTAL_PIX = &#039;, getwindowheight ( )&nbsp; &nbsp;!--&gt; 629</p><p>&nbsp; &nbsp; &nbsp; &nbsp; !--- Largest horizontal position possible in the current window<br />&nbsp; &nbsp; &nbsp; &nbsp; PRINT *, &#039;XMAX_PIX = &#039;, getmaxx ( )&nbsp; &nbsp; !--&gt; 799<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; !--- Largest vertical position possible in the current window<br />&nbsp; &nbsp; &nbsp; &nbsp; PRINT *, &#039;YMAX_PIX = &#039;, getmaxy ( )&nbsp; &nbsp; !--&gt; 599</p><p>btw, I running Windows 10 using a Microsoft Surface Pro PC. SimplyFortran is verison 3.19, build 3543 using GNU Fortan 10.2.0.</p><p>Frank</p>]]></description>
			<author><![CDATA[null@example.com (drfrank)]]></author>
			<pubDate>Tue, 05 Oct 2021 21:23:13 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3794#p3794</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3792#p3792</link>
			<description><![CDATA[<p>Hi Jeff, <br />I am restarting developement of my program for costing for shipstructures using the latest version of SF.<br />I did not use it for a longer time and found an unwanted reaction on hitting the windows cross on top of dioalogs: It causes a crash or it does not return to the calling window. All my dialogs&nbsp; have buttons to exit and return to the calling window. The cross at top is not needed. Is it possible te deactivate it?<br />Regards Klaus</p>]]></description>
			<author><![CDATA[null@example.com (Klaus Asmus)]]></author>
			<pubDate>Thu, 30 Sep 2021 08:38:28 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3792#p3792</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3592#p3592</link>
			<description><![CDATA[<p>Thanks Jeff!<br />I hope AppGraphics is useful as well as Qt.<br />Come on!</p>]]></description>
			<author><![CDATA[null@example.com (weixing1531)]]></author>
			<pubDate>Mon, 21 Sep 2020 17:36:57 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3592#p3592</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3590#p3590</link>
			<description><![CDATA[<p>The subroutine <em>test</em> is actually run twice when scrolling.&nbsp; The problem is that AppGraphics was triggering calling the scroll subroutine whenever a <strong>WM_HSCROLL</strong> or <strong>WM_VSCROLL</strong> message was sent by Windows.&nbsp; While this might seem to make sense, Windows will send these messages with the &quot;scroll request&quot; for <strong>SB_SCROLLEND</strong> to indicate that scrolling has ended.&nbsp; Scrolling ending isn&#039;t a particularly good reason in AppGraphics to trigger a scrollbar callback.</p><p>So calling the subroutine <em>test</em> twice is a bug.&nbsp; We&#039;ve fixed it, and it should be included in Simply Fortran 3.15, which we&#039;re finishing up now.</p>]]></description>
			<author><![CDATA[null@example.com (jeff)]]></author>
			<pubDate>Mon, 21 Sep 2020 11:37:12 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3590#p3590</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3588#p3588</link>
			<description><![CDATA[<p>program main<br />&nbsp; &nbsp; use appgraphics<br />&nbsp; &nbsp; implicit none<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; integer::myscreen,i,i1,i2,i3,i4,i5,i6<br />&nbsp; &nbsp; character(1)::s<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; myscreen = initwindow(800, 400, &quot;整数加、减、乘法简单程序&quot;, closeflag=.TRUE.)!动画必须dbflag=.TRUE.<br />&nbsp; &nbsp; call setcolor(WHITE) !前景色<br />&nbsp; &nbsp; call setbkcolor(GREEN) !背景色<br />&nbsp; &nbsp; call setmatchthemetextstyle()<br />&nbsp; &nbsp; call settextstyle(SERIF_FONT, HORIZ_DIR, 25) !设置字体、文字方向、字号<br />&nbsp; &nbsp; call settextjustify(CENTER_TEXT,CENTER_TEXT) !文本居中对齐<br />&nbsp; &nbsp; call clearviewport()!清屏<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; i1=createtextbox(100,200,50,25)!文本框<br />&nbsp; &nbsp; call settextboxcontents(i1, &quot;1&quot;)!初始值</p><p>&nbsp; &nbsp; i2=createtextbox(200,200,50,25)!文本框<br />&nbsp; &nbsp; call settextboxcontents(i2, &quot;2&quot;)!初始值<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; i3=createscrollbar (155, 185, 40, 56, SCROLL_VERTICAL, test) !垂直滚动条<br />&nbsp; &nbsp; call setscrollrange(i3,1,3) !设置垂直滚动条档位范围<br />&nbsp; &nbsp; call setscrollposition(i3,1) !设置垂直滚动条当前档位<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; i4=createtextbox (155, 200, 40, 25)!文本框<br />&nbsp; &nbsp; call settextboxcontents(i4, &quot;+&quot;)!初始值<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; i5=createtextbox(250, 200,50,25)!文本框<br />&nbsp; &nbsp; call settextboxcontents(i5, &quot;=&quot;)!初始值<br />&nbsp; &nbsp; i6=createtextbox(300, 200,100,25)!文本框<br />&nbsp; &nbsp; call settextboxcontents(i6, &quot;3&quot;)!初始值<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; i = createbutton(450, 200, 50, 25, &quot;Run&quot;, start)!按钮<br />&nbsp; &nbsp; i = createbutton(600, 200, 60, 25, &quot;Close&quot;, quit)!按钮<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; call loop()<br />&nbsp; &nbsp; call closewindow(myscreen) !关闭窗口<br />contains<br />&nbsp; &nbsp; subroutine Quit()<br />&nbsp; &nbsp; &nbsp; &nbsp; call stopidle()<br />&nbsp; &nbsp; end subroutine<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; subroutine start()<br />&nbsp; &nbsp; &nbsp; &nbsp; integer::i,j,k,m=0<br />&nbsp; &nbsp; &nbsp; &nbsp; character(80)::s1,s2,s3<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; i=gettextboxcontents(i1,s1) !i返回字符串长度 s1返回文本字符串<br />&nbsp; &nbsp; &nbsp; &nbsp; j=gettextboxcontents(i2,s2) <br />&nbsp; &nbsp; &nbsp; &nbsp; read(s1,*)i !字符串转换为整数<br />&nbsp; &nbsp; &nbsp; &nbsp; read(s2,*)j<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; k=getscrollposition (i3)!返回滚动条当前位置</p><p>&nbsp; &nbsp; &nbsp; &nbsp; select case(k)<br />&nbsp; &nbsp; &nbsp; &nbsp; case(1)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; m=i+j<br />&nbsp; &nbsp; &nbsp; &nbsp; case(2)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; m=i-j<br />&nbsp; &nbsp; &nbsp; &nbsp; case(3)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; m=i*j<br />&nbsp; &nbsp; &nbsp; &nbsp; end select<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; write(s3,&quot;(i0)&quot;)m !整数转换为字符串<br />&nbsp; &nbsp; &nbsp; &nbsp; call settextboxcontents (i4, s)!设置文本框内容<br />&nbsp; &nbsp; &nbsp; &nbsp; call settextboxcontents (i6, trim(adjustl(s3)))!设置文本框内容 <br />&nbsp; &nbsp; end subroutine<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; subroutine test(j) !j返回滚动条位置<br />&nbsp; &nbsp; &nbsp; &nbsp; integer::j</p><p>&nbsp; &nbsp; &nbsp; &nbsp; write(*,*)j<br />&nbsp; &nbsp; &nbsp; &nbsp; select case(j)<br />&nbsp; &nbsp; &nbsp; &nbsp; case(1)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s=&quot;+&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; case(2)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s=&quot;-&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; case(3)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s=&quot;*&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; end select<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; call settextboxcontents (i4, s)!设置文本框内容<br />&nbsp; &nbsp; End subroutine<br />end program main</p><br /><p>In the subroutine test, why &quot;write(*,*)j&quot; run twice in the console when i change the scrollbar?</p>]]></description>
			<author><![CDATA[null@example.com (weixing1531)]]></author>
			<pubDate>Fri, 18 Sep 2020 18:26:43 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3588#p3588</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3276#p3276</link>
			<description><![CDATA[<p>Ok Jeff,<br />That was the problem. Its not correct to disable the current window<br /> thanks<br />Klaus</p>]]></description>
			<author><![CDATA[null@example.com (Klaus Asmus)]]></author>
			<pubDate>Tue, 22 Jan 2019 18:52:20 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3276#p3276</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3274#p3274</link>
			<description><![CDATA[<p>Klaus,</p><p>I&#039;m not exactly sure I understand the problem.&nbsp; After you call <em>enablewindow(initW,.false.)</em>, what seems to be the problem?&nbsp; You&#039;re creating a new window after that which should get all user input, but some is going to the background window?</p><p>I think it might be safer to reverse the two calls:</p><div class="codebox"><pre><code>initW = getcurrentwindow()  ! keep the main window in memory for return to it
dlg_screen  = initwindow(660, 900, title = &quot;Structural parts defined on cross sections&quot;, closeflag=.false.)
Call enablewindow(initW,.false.)</code></pre></div><p>Disabling a window when there is no foreground window doesn&#039;t quite look right, though I might be wrong.&nbsp; I&#039;ll try some experiments on my end too.</p>]]></description>
			<author><![CDATA[null@example.com (jeff)]]></author>
			<pubDate>Tue, 22 Jan 2019 12:40:33 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3274#p3274</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3269#p3269</link>
			<description><![CDATA[<p>Jeff, I wrote a window with a scroll bar to list a lot of rows and saved it by calling enablewindow(initW,.false.) to avoid that the window moves to the background by hitting the mouse outside the scroll window as follows: <br />.....<br /> initW = getcurrentwindow()&nbsp; ! keep the main window in memory for return to it<br /> Call enablewindow(initW,.false.)<br /> dlg_screen&nbsp; = initwindow(660, 900, title = &quot;Structural parts defined on cross sections&quot;, closeflag=.false.)<br />.....<br />Unfortunately it does not work like in all my other dialogs: The window moves to the background but&nbsp; requires action in it. Other windows are not accepting input.<br />The only difference with other dialogs is a menu I did add to the scoll window to make it possible to leave the scoll window.</p><p>Whats wrong with it?<br />Klaus</p>]]></description>
			<author><![CDATA[null@example.com (Klaus Asmus)]]></author>
			<pubDate>Fri, 18 Jan 2019 19:17:13 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3269#p3269</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3103#p3103</link>
			<description><![CDATA[<p>Thanks Jeff,<br />Klaus</p>]]></description>
			<author><![CDATA[null@example.com (Klaus Asmus)]]></author>
			<pubDate>Mon, 22 Jan 2018 21:58:09 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3103#p3103</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3101#p3101</link>
			<description><![CDATA[<p>Klaus,</p><p>The problem is related to <em>setcurrentwindow</em>.&nbsp; &nbsp;When you&#039;re calling that subroutine, the description (and subroutine name, quite frankly) sound as if it should also bring that window to the foreground.&nbsp; In reality, all the call does is set the internal indicator within the library to point at that window for any subsequent graphics calls.&nbsp; The library should also raise the indicated window to the top when <em>setcurrentwindow</em> is called.</p><p>I&#039;ll make the change and release a new build with the fix within the week.</p>]]></description>
			<author><![CDATA[null@example.com (jeff)]]></author>
			<pubDate>Mon, 22 Jan 2018 18:39:50 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3101#p3101</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3098#p3098</link>
			<description><![CDATA[<p>Klaus,</p><p>Let me work on that this weekend to see if I can both replicate the problem and come up with a solution.</p>]]></description>
			<author><![CDATA[null@example.com (jeff)]]></author>
			<pubDate>Fri, 19 Jan 2018 22:33:09 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3098#p3098</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3097#p3097</link>
			<description><![CDATA[<p>Jeff, <br />A nasty problem I got:<br />From the main window a second window is opened <br />In this second window&nbsp; a dialog is opened.<br />After closing the dialog different returns are found<br />Using the program from simply fortran for testing control returns with the second window on top.<br />But if the program runs directly under windows, without using SF, the main window appears on the foreground and that is not the intention.</p><p>How can I try to tackle the problem?</p><p> The dialog in the second window (initW) starts as follows: </p><p> initW = getcurrentwindow()&nbsp; ! keep the previous window in memory for later return<br /> Call enablewindow(initW,.false.)<br />! ______________________ open dlg-window__________________________________<br /> dlg_screen = initwindow(250, 360, title = &quot;Secundary Stiffening&quot;, closeflag = .false.)<br /> CAll setdialoghotkeys(.TRUE.) <br />…..........<br />….........<br />And it ends with:<br /> call loop()<br />&nbsp; &nbsp;Call enablewindow(initW,.true.)<br />&nbsp; &nbsp;Call closewindow(CURRENT_WINDOW) <br />&nbsp; &nbsp;Call setcurrentwindow (initW)<br />!____________________________________________________________________________<br /> Contains<br />.....<br />May be this info is too short to give a hint and I have to make a tiny testprogram first?</p><p>Regards, Klaus</p>]]></description>
			<author><![CDATA[null@example.com (Klaus Asmus)]]></author>
			<pubDate>Fri, 19 Jan 2018 15:35:43 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3097#p3097</guid>
		</item>
		<item>
			<title><![CDATA[Re: "Dialogs" in AppGraphics]]></title>
			<link>https://forums.approximatrix.com/viewtopic.php?pid=3094#p3094</link>
			<description><![CDATA[<p>Klaus,</p><p>Yes, that&#039;s what&#039;s necessary in Windows to construct multiline messages for use in message boxes.&nbsp; The Conway&#039;s Game of Life example included with Simply Fortran does the same thing in the subroutine <em>aboutgame</em> in <em>control.f90</em>. </p><p>You could consider using the constant <em>C_CARRIAGE_RETURN</em> available in the <em>iso_c_binding</em> module as well to be more explicit rather than using <em>CHAR(13)</em>.&nbsp; I&#039;m not sure there&#039;s any real advantage, though.</p>]]></description>
			<author><![CDATA[null@example.com (jeff)]]></author>
			<pubDate>Mon, 08 Jan 2018 12:23:14 +0000</pubDate>
			<guid>https://forums.approximatrix.com/viewtopic.php?pid=3094#p3094</guid>
		</item>
	</channel>
</rss>
