<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - C++/CLI</title>
		<link>https://www.developpez.net/forums/</link>
		<description />
		<language>fr</language>
		<lastBuildDate>Sun, 19 Jul 2026 16:29:16 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - C++/CLI</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[Fonction "atomique" en C++ ?]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184650&amp;goto=newpost</link>
			<pubDate>Tue, 14 Jul 2026 13:52:19 GMT</pubDate>
			<description>Bonjour, 
 
Je suis confronté...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis confronté à un bug étrange<br />
<br />
J'ai une application graphique, qui dessine des rectangles de selection sur une image avec la technique bien connue NOT XOR PEN<br />
<br />
Le rectangle n'est pas assez visible.<br />
J'ai donc fait une petite modification pour en dessiner un plus épais :<br />
<br />
Le code original :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0">					<span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>selektion_vorhanden&gt;<span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
						pDC-&gt;SetROP2<span style="color: black;">&#40;</span>R2_NOTXORPEN<span style="color: black;">&#41;</span>;
						pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect<span style="color: black;">&#41;</span>;
					<span style="color: black;">&#125;</span>
					selektion_vorhanden = <span style="color: #cc66cc;">1</span>;
					m_rect.top = y;
					m_rect.left = x;</pre></td></tr></table></code><hr />
</div>Le code modifié :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0">					<span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>selektion_vorhanden&gt;<span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
						pDC-&gt;SetROP2<span style="color: black;">&#40;</span>R2_NOTXORPEN<span style="color: black;">&#41;</span>;
						trace_rect_rect2<span style="color: black;">&#40;</span>pDC<span style="color: black;">&#41;</span>; <span style="color: #808080;">//pDC-&gt;Rectangle(&amp;m_rect);</span>
					<span style="color: black;">&#125;</span>
					selektion_vorhanden = <span style="color: #cc66cc;">1</span>;
					m_rect.top = y;
					m_rect.left = x;</pre></td></tr></table></code><hr />
</div>J'ai remplacé partout les appels de <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect<span style="color: black;">&#41;</span>;</code><hr />
</div>par <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">trace_rect_rect2<span style="color: black;">&#40;</span>pDC<span style="color: black;">&#41;</span>;</code><hr />
</div>qui est une fonction que j'ai créé dont voici le code :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">void</span> trace_rect_rect2<span style="color: black;">&#40;</span>CDC* pDC<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
	m_rect2.CopyRect<span style="color: black;">&#40;</span>m_rect<span style="color: black;">&#41;</span>;
	m_rect2.InflateRect<span style="color: black;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span>;
	pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect<span style="color: black;">&#41;</span>;
	pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect2<span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>Cette fonction est appelée par différentes procédures qui gèrent les évenements liés à la souris et à l'affichage :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">void</span> CShiftNView::OnDraw<span style="color: black;">&#40;</span>CDC* pDC<span style="color: black;">&#41;</span>
<span style="color: #0000ff;">void</span> CShiftNView::OnLButtonDown<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span> 
<span style="color: #0000ff;">void</span> CShiftNView::OnMouseMove<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span> 
<span style="color: #0000ff;">void</span> CShiftNView::OnRButtonDown<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span> 
<span style="color: #0000ff;">void</span> CShiftNView::OnLButtonUp<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>
<span style="color: #0000ff;">void</span> CShiftNView::OnRButtonUp<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span></pre></td></tr></table></code><hr />
</div>Le bug est le suivant : quand je manipule la souris un peu vite, les rectangles précédents se sont pas bien effacés :<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p677535d1784035899/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/fonction-atomique-cpp/2026_07_14_bug.jpg/" border="0" alt="Nom : 2026_07_14_bug.jpg
Affichages : 88
Taille : 1,19 Mo"  style="float: CONFIG" /><br />
<br />
Le bug ne se produit pas si je trace pas m_rect tout seul :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">void</span> trace_rect_rect2<span style="color: black;">&#40;</span>CDC* pDC<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
	m_rect2.CopyRect<span style="color: black;">&#40;</span>m_rect<span style="color: black;">&#41;</span>;
	m_rect2.InflateRect<span style="color: black;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span>;
	pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect<span style="color: black;">&#41;</span>; <span style="color: #808080;">// affichage correct sans bug</span>
	<span style="color: #808080;">//pDC-&gt;Rectangle(&amp;m_rect2);</span>
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>mais le bug se produit aussi si je trace m_rect2 tout seul :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">void</span> trace_rect_rect2<span style="color: black;">&#40;</span>CDC* pDC<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
	m_rect2.CopyRect<span style="color: black;">&#40;</span>m_rect<span style="color: black;">&#41;</span>;
	m_rect2.InflateRect<span style="color: black;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span>;
	<span style="color: #808080;">//pDC-&gt;Rectangle(&amp;m_rect);</span>
	pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect2<span style="color: black;">&#41;</span>; <span style="color: #808080;">// le bug se produit</span>
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>C'est comme si m_rect était modifié par le reste du code pendant que la fonction trace_rect_rect2(CDC* pDC) était executée<br />
<br />
Le bug est aussi présent si je déclare la fonction inline, même en ne traçant que m_rect2 :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">void</span> trace_rect_rect2<span style="color: black;">&#40;</span>CDC* pDC<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
	m_rect2.CopyRect<span style="color: black;">&#40;</span>m_rect<span style="color: black;">&#41;</span>;
	m_rect2.InflateRect<span style="color: black;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span>;
	<span style="color: #808080;">//pDC-&gt;Rectangle(&amp;m_rect);</span>
	pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect2<span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>Le bug se produit aussi avec cette variante :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">void</span> trace_rect_rect2<span style="color: black;">&#40;</span>CDC* pDC<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
	pDC-&gt;Rectangle<span style="color: black;">&#40;</span>&amp;m_rect<span style="color: black;">&#41;</span>;
	pDC-&gt;Rectangle<span style="color: black;">&#40;</span>m_rect.left-<span style="color: #cc66cc;">1</span>, m_rect.top-<span style="color: #cc66cc;">1</span>, m_rect.right+<span style="color: #cc66cc;">1</span>, m_rect.bottom+<span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>Comme mon code ne fait qu'agrandir le rectangle, le problème n'est pas lié à un rectangle de taille nulle ou négative<br />
<br />
A bientôt</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p677535d1784035899/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/fonction-atomique-cpp/2026_07_14_bug.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f384/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/">C++/CLI</category>
			<dc:creator>electroremy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184650/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/fonction-atomique-cpp/</guid>
		</item>
		<item>
			<title>VC++ raccourcis clavier fonctionnent en Debug mais pas en Release</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184612&amp;goto=newpost</link>
			<pubDate>Sat, 11 Jul 2026 23:02:13 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'ai repris un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J'ai repris un ancien projet Open Source devellopé en C++, créé par quelqu'un d'autre<br />
<br />
J'arrive à le modifier avec Visual Studio 2015 Community Edition<br />
<br />
Il s'agit du logiciel ShiftN, j'en avais parlé ici :<br />
<a href="https://www.developpez.net/forums/d2178166/logiciels/autres-logiciels/imagerie/mise-jour-shift-n/" target="_blank">https://www.developpez.net/forums/d2...-jour-shift-n/</a><br />
<br />
Le soucis c'est que dans l'IDE je n'ai que du code, je ne peux pas modifier l'interface graphique autrement que par le code :aie:<br />
<br />
Malgrès cela, jusqu'à maintenant j'avais réussi à apporter pas mal de modifications intéressantes, notamment des fonctions d'édition supplémentaires à la souris.<br />
<br />
J'ai apporté d'autres modifications, mais que suis bloqué par un problème tout bête...<br />
<br />
Pour éviter les TMS avec la souris, ce sont des fonctions qui utilisent les touches du clavier.<br />
<br />
En faisant du reverse ingéneering, j'arrive à ajouter ces commandes au clavier, mais ça fonctionne en DEBUG mais pas en RELEASE :aie:<br />
<br />
Le soucis c'est que l'executable en version DEBUG est beaucoup plus lent :calim2:<br />
<br />
Voici les modifications apportées au code :<br />
<br />
<b>Fichier ShiftN.rc : </b><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br /></div></td><td valign="top"><pre style="margin: 0">IDR_MAINFRAME ACCELERATORS 
BEGIN
    <span style="color: #FF0000;">&quot;N&quot;</span>,            ID_APP_ABOUT,           VIRTKEY, SHIFT, NOINVERT
    <span style="color: #FF0000;">&quot;C&quot;</span>,            ID_CTRLC,               VIRTKEY, CONTROL, NOINVERT
    <span style="color: #FF0000;">&quot;V&quot;</span>,            ID_CTRLV,               VIRTKEY, CONTROL, NOINVERT
    VK_DELETE,      ID_DELMH,               VIRTKEY, NOINVERT
    VK_F1,          ID_HELPMH,              VIRTKEY, NOINVERT
    VK_PRIOR,       ID_MHUP,                VIRTKEY, NOINVERT
    VK_NEXT,        ID_MHDOWN,              VIRTKEY, NOINVERT
&nbsp;
	<span style="color: #808080;">//2026 - Ajout des raccourcis clavier ---------------------------------------------------------------------------------------------------</span>
&nbsp;
	<span style="color: #808080;">// Debug: OK - Release: Ne fonctionne pas</span>
	VK_F5, ID_TOGGLE_OPTIM_AT_LOAD, VIRTKEY, NOINVERT
&nbsp;
	<span style="color: #808080;">// Debug: OK - Release: Ne fonctionne pas</span>
	VK_F2, ID_SAVE_CROP, VIRTKEY, NOINVERT
&nbsp;
	<span style="color: #808080;">// Debug: OK  - Release: Ne fonctionne pas</span>
	VK_F9, ID_SAVE_CROP, VIRTKEY, NOINVERT
&nbsp;
	<span style="color: #808080;">// Debug: OK  - Release: Ne fonctionne pas</span>
	VK_F3, ID_SAVE_NO_CROP, VIRTKEY, NOINVERT
&nbsp;
	<span style="color: #808080;">// Debug: OK - Release: Ne fonctionne pas</span>
	VK_F10, ID_SAVE_NO_CROP, VIRTKEY, NOINVERT
&nbsp;
	<span style="color: #808080;">// Debug: OK - Release: Ne fonctionne pas</span>
	VK_F11, ID_ANWENDEN_KORREKTURANPASSEN, VIRTKEY, NOINVERT
&nbsp;
	<span style="color: #808080;">// Debug: OK - Release: Fonctionne mais affiche un point d'arr&ecirc;t quand on lance le programme en version Release depuis le compilateur</span>
	VK_F12, MH_Re, VIRTKEY, NOINVERT
	<span style="color: #808080;">// --------------------------------------------------------------------------------------------------------------------------------------</span>
&nbsp;
END</pre></td></tr></table></code><hr />
</div><b>Fichier ressurce.h :</b><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">//{{NO_DEPENDENCIES}}</span>
<span style="color: #808080;">// Microsoft Visual C++ generated include file.</span>
<span style="color: #808080;">// Used by ShiftN.rc</span>
<span style="color: #808080;">//</span>
<span style="color: #339933;">#define IDD_ABOUTBOX                    100</span>
<span style="color: #339933;">#define IDB_SPLASH                      102</span>
<span style="color: #339933;">#define CG_IDD_MYDIALOGBAR              103</span>
<span style="color: #339933;">#define CG_ID_VIEW_MYDIALOGBAR          104</span>
<span style="color: #339933;">#define CG_IDD_PROGRESS                 105</span>
<span style="color: #339933;">#define CG_IDS_PROGRESS_CAPTION         106</span>
<span style="color: #339933;">#define IDR_MAINFRAME                   128</span>
<span style="color: #339933;">#define IDR_SHIFTNTYPE                  129</span>
<span style="color: #339933;">#define IDD_DIALOG1                     130</span>
<span style="color: #339933;">#define IDD_DIALOG2                     131</span>
<span style="color: #339933;">#define IDD_DIALOG3                     133</span>
<span style="color: #339933;">#define IDD_DIALOG4                     134</span>
<span style="color: #339933;">#define IDD_DIALOG5                     135</span>
<span style="color: #339933;">#define IDD_DIALOG6                     136</span>
<span style="color: #339933;">#define IDD_DIALOG7                     137</span>
<span style="color: #339933;">#define IDD_DIALOG8                     138</span>
<span style="color: #339933;">#define IDD_DIALOG9                     139</span>
<span style="color: #339933;">#define IDD_DIALOG10                    140</span>
<span style="color: #339933;">#define IDD_DIALOG11                    141</span>
<span style="color: #339933;">#define IDD_DIALOG12                    149</span>
<span style="color: #339933;">#define CG_IDD_MYDIALOGBAR_SAVE         150</span>
<span style="color: #339933;">#define IDD_DIALOG13                    151</span>
<span style="color: #339933;">#define IDC_CHECK1                      1000</span>
<span style="color: #339933;">#define IDC_CHECK2                      1001</span>
<span style="color: #339933;">#define IDC_CHECK3                      1002</span>
<span style="color: #339933;">#define IDC_CHECK4                      1003</span>
<span style="color: #339933;">#define CG_IDC_PROGDLG_PROGRESS         1003</span>
<span style="color: #339933;">#define IDC_CHECK5                      1004</span>
<span style="color: #339933;">#define IDC_CHECK6                      1005</span>
<span style="color: #339933;">#define IDC_EDIT1                       1006</span>
<span style="color: #339933;">#define IDC_CHECK7                      1006</span>
<span style="color: #339933;">#define IDC_EDIT2                       1007</span>
<span style="color: #339933;">#define IDC_CHECK8                      1007</span>
<span style="color: #339933;">#define IDC_PROGRESS1                   1007</span>
<span style="color: #339933;">#define IDC_EDIT3                       1008</span>
<span style="color: #339933;">#define IDC_RADIO1                      1008</span>
<span style="color: #339933;">#define IDC_EDIT4                       1009</span>
<span style="color: #339933;">#define IDC_RADIO2                      1009</span>
<span style="color: #339933;">#define IDC_EDIT5                       1010</span>
<span style="color: #339933;">#define IDC_BUTTON1                     1010</span>
<span style="color: #339933;">#define IDC_CHECK9                      1010</span>
<span style="color: #339933;">#define IDC_RADIO3                      1010</span>
<span style="color: #339933;">#define IDC_EDIT6                       1011</span>
<span style="color: #339933;">#define IDC_SLIDER1                     1011</span>
<span style="color: #339933;">#define IDC_RADIO4                      1011</span>
<span style="color: #339933;">#define IDC_EDIT7                       1012</span>
<span style="color: #339933;">#define IDC_SLIDER2                     1012</span>
<span style="color: #339933;">#define IDC_CHECK10                     1012</span>
<span style="color: #339933;">#define IDC_EDIT8                       1013</span>
<span style="color: #339933;">#define IDC_SLIDER3                     1013</span>
<span style="color: #339933;">#define IDC_CHECK11                     1013</span>
<span style="color: #339933;">#define IDC_EDIT9                       1014</span>
<span style="color: #339933;">#define IDC_SLIDER4                     1014</span>
<span style="color: #339933;">#define IDC_EDIT11                      1015</span>
<span style="color: #339933;">#define IDC_EDIT10                      1016</span>
<span style="color: #339933;">#define IDC_EDIT12                      1016</span>
<span style="color: #339933;">#define IDC_EDIT13                      1017</span>
<span style="color: #339933;">#define IDC_EDIT14                      1018</span>
<span style="color: #339933;">#define IDC_EDIT15                      1019</span>
<span style="color: #339933;">#define MH_SAVE                         32771</span>
<span style="color: #339933;">#define MH_LOAD                         32772</span>
<span style="color: #339933;">#define MH_PARAM                        32773</span>
<span style="color: #339933;">#define MH_Go                           32774</span>
<span style="color: #339933;">#define ID_STAPELVERARBEITUNG           32775</span>
<span style="color: #339933;">#define MH_Go2                          32775</span>
<span style="color: #339933;">#define MH_BATCH                        32776</span>
<span style="color: #339933;">#define MH_ORIG                         32777</span>
<span style="color: #339933;">#define MH_GRAU                         32778</span>
<span style="color: #339933;">#define MH_SCHWARZ                      32779</span>
<span style="color: #339933;">#define ID_DARSTELLUNG                  32780</span>
<span style="color: #339933;">#define MH_DARST                        32781</span>
<span style="color: #339933;">#define ID_START                        32785</span>
<span style="color: #339933;">#define ID_OPTIONS_LANGUAGE             32786</span>
<span style="color: #339933;">#define ID_ANWENDEN_KORREKTURANPASSEN   32787</span>
<span style="color: #339933;">#define ID_DATEI_SPEICHERNUNTER         32788</span>
<span style="color: #339933;">#define MH_Re                           32791</span>
<span style="color: #339933;">#define ID_GITTER                       32792</span>
<span style="color: #339933;">#define ID_SAVE_CLOSE                   32793</span>
<span style="color: #339933;">#define ID_FILE_SAVEANDEXIT             32794</span>
<span style="color: #339933;">#define ID_ACKNOW                       32795</span>
<span style="color: #339933;">#define ID_EINSTELLUNGEN_SCHALTFLCHESPEICHERN 32797</span>
<span style="color: #339933;">#define ID_CTRLC                        32798</span>
<span style="color: #339933;">#define ID_CTRLV                        32799</span>
<span style="color: #339933;">#define ID_HELPMH                       32800</span>
<span style="color: #339933;">#define ID_DELMH                        32805</span>
<span style="color: #339933;">#define ID_ACCELERATOR32809             32809</span>
<span style="color: #339933;">#define ID_MHUP                         32811</span>
<span style="color: #339933;">#define ID_MHDOWN                       32812</span>
&nbsp;
<span style="color: #808080;">//2026 ----------------------------------------</span>
<span style="color: #339933;">#define ID_SAVE_CROP                    32801</span>
<span style="color: #339933;">#define ID_SAVE_NO_CROP                 32802</span>
<span style="color: #339933;">#define ID_TOGGLE_OPTIM_AT_LOAD         32803</span>
<span style="color: #808080;">//---------------------------------------------</span>
&nbsp;
&nbsp;
<span style="color: #808080;">// Next default values for new objects</span>
<span style="color: #808080;">// </span>
<span style="color: #339933;">#ifdef APSTUDIO_INVOKED</span>
<span style="color: #339933;">#ifndef APSTUDIO_READONLY_SYMBOLS</span>
<span style="color: #339933;">#define _APS_3D_CONTROLS                     1</span>
<span style="color: #339933;">#define _APS_NEXT_RESOURCE_VALUE        152</span>
<span style="color: #339933;">#define _APS_NEXT_COMMAND_VALUE         32814</span>
<span style="color: #339933;">#define _APS_NEXT_CONTROL_VALUE         1012</span>
<span style="color: #339933;">#define _APS_NEXT_SYMED_VALUE           107</span>
<span style="color: #339933;">#endif</span>
<span style="color: #339933;">#endif</span></pre></td></tr></table></code><hr />
</div><b>Fichier ShiftNView.h :</b><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// ShiftNView.h : Schnittstelle der Klasse CShiftNView</span>
<span style="color: #808080;">//</span>
<span style="color: #808080; font-weight: bold;">/////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
<span style="color: #339933;">#undef FAR</span>
&nbsp;
<span style="color: #339933;">#if !defined(AFX_SHIFTNVIEW_H__81C9C6D6_853F_4B8C_A993_E824F347600A__INCLUDED_)</span>
<span style="color: #339933;">#define AFX_SHIFTNVIEW_H__81C9C6D6_853F_4B8C_A993_E824F347600A__INCLUDED_</span>
&nbsp;
<span style="color: #339933;">#if _MSC_VER &gt; 1000</span>
<span style="color: #339933;">#pragma once</span>
<span style="color: #339933;">#endif // _MSC_VER &gt; 1000</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">class</span> CShiftNView : <span style="color: #0000ff;">public</span> CView
<span style="color: black;">&#123;</span>
<span style="color: #0000ff;">protected</span>: <span style="color: #808080;">// Nur aus Serialisierung erzeugen</span>
	CShiftNView<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	DECLARE_DYNCREATE<span style="color: black;">&#40;</span>CShiftNView<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080;">// Attribute</span>
<span style="color: #0000ff;">public</span>:
	CShiftNDoc* GetDocument<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
<span style="color: #808080;">// Operationen</span>
<span style="color: #0000ff;">public</span>:
&nbsp;
<span style="color: #808080;">// &Uuml;berladungen</span>
	<span style="color: #808080;">// Vom Klassenassistenten generierte &Uuml;berladungen virtueller Funktionen</span>
	<span style="color: #808080;">//{{AFX_VIRTUAL(CShiftNView)</span>
	<span style="color: #0000ff;">public</span>:
	<span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> OnDraw<span style="color: black;">&#40;</span>CDC* pDC<span style="color: black;">&#41;</span>;  <span style="color: #808080;">// &uuml;berladen zum Zeichnen dieser Ansicht</span>
	<span style="color: #0000ff;">virtual</span> BOOL PreCreateWindow<span style="color: black;">&#40;</span>CREATESTRUCT&amp; cs<span style="color: black;">&#41;</span>;
	<span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> OnFinalRelease<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	<span style="color: #0000ff;">virtual</span> DROPEFFECT OnDragEnter<span style="color: black;">&#40;</span>COleDataObject* pDataObject, DWORD dwKeyState, CPoint point<span style="color: black;">&#41;</span>;
	<span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> OnDragLeave<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	<span style="color: #0000ff;">virtual</span> DROPEFFECT OnDragOver<span style="color: black;">&#40;</span>COleDataObject* pDataObject, DWORD dwKeyState, CPoint point<span style="color: black;">&#41;</span>;
	<span style="color: #0000ff;">virtual</span> BOOL OnDrop<span style="color: black;">&#40;</span>COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point<span style="color: black;">&#41;</span>;
	<span style="color: #0000ff;">protected</span>:
	<span style="color: #0000ff;">virtual</span> BOOL OnScrollBy<span style="color: black;">&#40;</span>CSize sizeScroll, BOOL bDoScroll = <span style="color: #0080ff;">TRUE</span><span style="color: black;">&#41;</span>;
	<span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> OnActivateView<span style="color: black;">&#40;</span>BOOL bActivate, CView* pActivateView, CView* pDeactiveView<span style="color: black;">&#41;</span>;
	<span style="color: #808080;">//}}AFX_VIRTUAL</span>
&nbsp;
<span style="color: #808080;">// Implementierung</span>
<span style="color: #0000ff;">public</span>:
	<span style="color: #0000ff;">virtual</span> ~CShiftNView<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
<span style="color: #339933;">#ifdef _DEBUG</span>
	<span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> AssertValid<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: #0000ff;">const</span>;
	<span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> Dump<span style="color: black;">&#40;</span>CDumpContext&amp; dc<span style="color: black;">&#41;</span> <span style="color: #0000ff;">const</span>;
<span style="color: #339933;">#endif</span>
&nbsp;
<span style="color: #0000ff;">protected</span>:
&nbsp;
<span style="color: #808080;">// Generierte Message-Map-Funktionen</span>
<span style="color: #0000ff;">protected</span>:
	<span style="color: #808080;">//{{AFX_MSG(CShiftNView)</span>
	afx_msg <span style="color: #0000ff;">void</span> OnSave<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnSaveAs<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnSaveExit<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnLoad<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnParam<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnCtrlC<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnCtrlV<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnGo<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnGitter<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> Reoptimize<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnBatch<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnDarst<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnLang<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnDownMH<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnUpMH<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnSchaltfl<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnAnwendenKorrekturanpassen<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnGoB<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">int</span> OnCreate<span style="color: black;">&#40;</span>LPCREATESTRUCT lpCreateStruct<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnDelMH<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnLButtonDown<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnMButtonDown<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnMouseMove<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnRButtonDown<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnLButtonUp<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnMButtonUp<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnSize<span style="color: black;">&#40;</span>UINT nType, <span style="color: #0000ff;">int</span> cx, <span style="color: #0000ff;">int</span> cy<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnSetFocus<span style="color: black;">&#40;</span>CWnd* pOldWnd<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnKillFocus<span style="color: black;">&#40;</span>CWnd* pNewWnd<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnUpdateGitter<span style="color: black;">&#40;</span>CCmdUI* pCmdUI<span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnRButtonUp<span style="color: black;">&#40;</span>UINT nFlags, CPoint point<span style="color: black;">&#41;</span>;
&nbsp;
	<span style="color: #808080;">// 2026 ----------------------------------</span>
	afx_msg <span style="color: #0000ff;">void</span> OnSaveCrop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnSaveNoCrop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	afx_msg <span style="color: #0000ff;">void</span> OnToogleOptimAtLoad<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	<span style="color: #808080;">// ---------------------------------------</span>
&nbsp;
&nbsp;
	<span style="color: #808080;">//}}AFX_MSG</span>
	DECLARE_MESSAGE_MAP<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: black;">&#125;</span>;
&nbsp;
<span style="color: #339933;">#ifndef _DEBUG  // Testversion in ShiftNView.cpp</span>
<span style="color: #0000ff;">inline</span> CShiftNDoc* CShiftNView::GetDocument<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
   <span style="color: black;">&#123;</span> <span style="color: #0000ff;">return</span> <span style="color: black;">&#40;</span>CShiftNDoc*<span style="color: black;">&#41;</span>m_pDocument; <span style="color: black;">&#125;</span>
<span style="color: #339933;">#endif</span>
&nbsp;
<span style="color: #808080; font-weight: bold;">/////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
<span style="color: #808080;">//{{AFX_INSERT_LOCATION}}</span>
<span style="color: #808080;">// Microsoft Visual C++ f&uuml;gt unmittelbar vor der vorhergehenden Zeile zus&auml;tzliche Deklarationen ein.</span>
&nbsp;
<span style="color: #339933;">#endif // !defined(AFX_SHIFTNVIEW_H__81C9C6D6_853F_4B8C_A993_E824F347600A__INCLUDED_)</span></pre></td></tr></table></code><hr />
</div><b>Fichier ShiftNViewcpp:</b><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br /></div></td><td valign="top"><pre style="margin: 0">BEGIN_MESSAGE_MAP<span style="color: black;">&#40;</span>CShiftNView, CView<span style="color: black;">&#41;</span>
	<span style="color: #808080;">//{{AFX_MSG_MAP(CShiftNView)</span>
	ON_COMMAND<span style="color: black;">&#40;</span>MH_SAVE, OnSave<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_DATEI_SPEICHERNUNTER, OnSaveAs<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_SAVE_CLOSE, OnSaveExit<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>MH_LOAD, OnLoad<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>MH_PARAM, OnParam<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_CTRLC, OnCtrlC<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_CTRLV, OnCtrlV<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>MH_Go, OnGo<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_GITTER, OnGitter<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>MH_Re, Reoptimize<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>MH_BATCH, OnBatch<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_DELMH, OnDelMH<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>MH_DARST, OnDarst<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_EINSTELLUNGEN_SCHALTFLCHESPEICHERN, OnSchaltfl<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_OPTIONS_LANGUAGE, OnLang<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_MHUP, OnUpMH<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_MHDOWN, OnDownMH<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_ANWENDEN_KORREKTURANPASSEN, OnAnwendenKorrekturanpassen<span style="color: black;">&#41;</span>
	ON_WM_CREATE<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_LBUTTONDOWN<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_MBUTTONDOWN<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_MOUSEMOVE<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_RBUTTONDOWN<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_LBUTTONUP<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_MBUTTONUP<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_SIZE<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_SETFOCUS<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_WM_KILLFOCUS<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	ON_UPDATE_COMMAND_UI<span style="color: black;">&#40;</span>ID_GITTER, OnUpdateGitter<span style="color: black;">&#41;</span>
	ON_WM_RBUTTONUP<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	<span style="color: #808080;">//}}AFX_MSG_MAP</span>
&nbsp;
	<span style="color: #808080;">//2026 -----------------------------------------------------</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_SAVE_CROP, OnSaveCrop<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_SAVE_NO_CROP, OnSaveNoCrop<span style="color: black;">&#41;</span>
	ON_COMMAND<span style="color: black;">&#40;</span>ID_TOGGLE_OPTIM_AT_LOAD, OnToogleOptimAtLoad<span style="color: black;">&#41;</span>
	<span style="color: #808080;">//----------------------------------------------------------</span>
&nbsp;
END_MESSAGE_MAP<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
...
&nbsp;
&nbsp;
<span style="color: #808080;">//2026</span>
<span style="color: #0000ff;">void</span> CShiftNView::OnToogleOptimAtLoad<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
	OptimAtLoad++;
	<span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>OptimAtLoad &gt;<span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
		OptimAtLoad = <span style="color: #cc66cc;">0</span>;
	<span style="color: black;">&#125;</span>
<span style="color: black;">&#125;</span>
<span style="color: #0000ff;">void</span> CShiftNView::OnSaveCrop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: black;">&#123;</span>
	<span style="color: #0000ff;">int</span> beschneiden_old;
	beschneiden_old = beschneiden;
	beschneiden = <span style="color: #cc66cc;">1</span>;
	OnSave<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	beschneiden = beschneiden_old;
<span style="color: black;">&#125;</span>
<span style="color: #0000ff;">void</span> CShiftNView::OnSaveNoCrop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: black;">&#123;</span>
	<span style="color: #0000ff;">int</span> beschneiden_old;
	beschneiden_old = beschneiden;
	beschneiden = <span style="color: #cc66cc;">0</span>;
	OnSave<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
	beschneiden = beschneiden_old;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>Vous pouvez télécharger le code complet ici :<br />
<br />
<a rel="nofollow" href="https://drive.google.com/file/d/1ueo1KBrfxagRheiFo5tWO_AcgAd5IZGi/view?usp=sharing" target="_blank">https://drive.google.com/file/d/1ueo...ew?usp=sharing</a><br />
<br />
Merci<br />
<br />
A bientôt</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f384/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/">C++/CLI</category>
			<dc:creator>electroremy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184612/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/vcpp-raccourcis-clavier-fonctionnent-debug-release/</guid>
		</item>
		<item>
			<title>NoMeyrio, message de débogage</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183296&amp;goto=newpost</link>
			<pubDate>Sun, 19 Apr 2026 08:35:55 GMT</pubDate>
			<description>Bonjour tout le monde, 
 
Je...</description>
			<content:encoded><![CDATA[<div>Bonjour tout le monde,<br />
<br />
Je parle C++ à peu près aussi bien qu'une vache espagnole parle Anglais (ou peut-être pas tout-à-fait aussi bien), et j'ai un souci avec NoMeyrioUI.<br />
<br />
Après quelques tentatives pour modifier l'affichage, j'avais un message d'erreur, erreur d'assomption. Et ça même après restauration de la sauvegarde, ce qui m'intriguait bien.<br />
<br />
Finalement, le projet est plus ancien que je ne m'en rendais compte, et a fini par avoir quelques petits soucis.<br />
<br />
Un coup d'œil au fichier readme apporte les deux précisions suivantes&nbsp;:<br />
<ul><li style="">NoMeyrioUI modifie le registre, et a bien pu noter là de rester en débogage</li><li style="">La <a rel="nofollow" href="https://github.com/Tatsu-syo/noMeiryoUI/releases/tag/TAG-3.4.2" target="_blank">version 3.4.2</a> fonctionne</li></ul><br />
<br />
Définir une police plus grande pour l'affichage du formulaire serait bien utile (après tout on utilise ce programme pour que Windows soit lisible). Ce projet est loin d'être le seul concerné, si des fois il existe quelque part une notice à l'attention de développeurs qui ne connaissent rien à C++ ça peut aider.<br />
<br />
Sinon je m'efforcerai de poser une question plus précise, mais alors ça me prendra plus de temps.</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p675725d1776587215/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/nomeyrio-message-debogage/assert-error-in-nomeyrioui-capture-d-ecran-2026-04-19-095928.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f384/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/">C++/CLI</category>
			<dc:creator>Gluups</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183296/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/nomeyrio-message-debogage/</guid>
		</item>
		<item>
			<title>Création de projet en X86 pour c++ cli GUI</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181182&amp;goto=newpost</link>
			<pubDate>Sat, 27 Dec 2025 17:36:20 GMT</pubDate>
			<description>Bonjour à tous, 
 
Ayant créé...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
Ayant créé un projet sous Visual studio 2022 en C++ cli GUI X64, mon interface graphique est fonctionnel.<br />
Devant utiliser une dll X86, quand je passe en mode X86,  ce dernier est systématiquement imbriqué dans une fenetre de terminal windows quand je l'exécute.<br />
<br />
Quelqu'un sait-il pourquoi ?<br />
Si oui, y a t-il un moyen pour y remédier ?<br />
<br />
Merci d'avance pour vos réponses.<br />
<br />
JM</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f384/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/">C++/CLI</category>
			<dc:creator>electro8051</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181182/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/creation-projet-x86-cpp-cli-gui/</guid>
		</item>
		<item>
			<title><![CDATA[Conversion C#-> C++ CLI]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179381&amp;goto=newpost</link>
			<pubDate>Sat, 20 Sep 2025 09:57:36 GMT</pubDate>
			<description>Bonjour et merci pour votre...</description>
			<content:encoded><![CDATA[<div>Bonjour et merci pour votre contribution<br />
<br />
Je ne vois pas comment convertir cette fonction C# en C++ CLI, en particulier la ligne string result ... en sachant qu'en C++ CLI, la fonction ne peut retourner une String:<br />
En fait, je ne comprends pas et je n 'ai rien trouvé sur le net concernant le String.Concat(buffer.Select(x =&gt; x.ToString(&quot;X2&quot;)).ToArray());<br />
Si quelqu'un sait et a un peu de temps à me consacrer, merci d'avance.<br />
<br />
static Random random = new Random();<br />
//static Random ^ random = gcnew Random();<br />
<br />
public static string GetRandomHexNumber(int digits)<br />
{<br />
    byte[] buffer = new byte[digits / 2];<br />
    //array&lt;unsigned char&gt;^ buffer = gcnew array&lt;unsigned char&gt;(digits / 2);   <br />
    random.NextBytes(buffer);<br />
   //random-&gt;NextBytes(buffer);<br />
    string result = String.Concat(buffer.Select(x =&gt; x.ToString(&quot;X2&quot;)).ToArray());<br />
   //?<br />
    if (digits % 2 == 0)<br />
        return result;<br />
    return result + random.Next(16).ToString(&quot;X&quot;);<br />
}</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f384/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/">C++/CLI</category>
			<dc:creator>electro8051</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179381/c-cpp/outils-c-cpp/visual-cpp/cpp-cli/conversion-csharp-cpp-cli/</guid>
		</item>
	</channel>
</rss>
