<?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[Button einfügen]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Formular, in dem ich schon einige Button eingefügt habe und mit Behandlungsroutinen versehen habe.<br />
Die funktionieren auch prima...</p>
<p>Jetzt will ich einen weiteren Button einfügen und der Funktioniert nicht !!!</p>
<p>Nachdem ich ihn eingefügt und doppelt angeklickt habe bestätige ich das ON_Click Ereignis und komme auch in die Funktion zum codieren.<br />
Ich habe aber keinen Zugriff auf Membervariablen oder ähnliches in dieser Funktion!</p>
<p>Der Editor trägt diesen Code in die .cpp-Datei ein, was er bei den anderen Button nicht gemacht hat:</p>
<p>BEGIN_MESSAGE_MAP(Optionen, CDialog)<br />
//{{AFX_MSG_MAP(Optionen)<br />
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)<br />
//}}AFX_MSG_MAP<br />
END_MESSAGE_MAP()</p>
<p>In der Header-datei sieht das so aus:</p>
<p>// Generierte Nachrichtenzuordnungsfunktionen<br />
//{{AFX_MSG(Optionen)<br />
virtual void OnOK();<br />
afx_msg void OnButton1();<br />
//}}AFX_MSG<br />
DECLARE_MESSAGE_MAP()</p>
<p>Der OK-Button ist als virtual deklariert und Button1 als afx_msg ???????</p>
<p>Was mache ich falsch ???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/56942/button-einfügen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 11:16:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/56942.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 Nov 2003 17:38:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Button einfügen on Sun, 30 Nov 2003 17:38:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Formular, in dem ich schon einige Button eingefügt habe und mit Behandlungsroutinen versehen habe.<br />
Die funktionieren auch prima...</p>
<p>Jetzt will ich einen weiteren Button einfügen und der Funktioniert nicht !!!</p>
<p>Nachdem ich ihn eingefügt und doppelt angeklickt habe bestätige ich das ON_Click Ereignis und komme auch in die Funktion zum codieren.<br />
Ich habe aber keinen Zugriff auf Membervariablen oder ähnliches in dieser Funktion!</p>
<p>Der Editor trägt diesen Code in die .cpp-Datei ein, was er bei den anderen Button nicht gemacht hat:</p>
<p>BEGIN_MESSAGE_MAP(Optionen, CDialog)<br />
//{{AFX_MSG_MAP(Optionen)<br />
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)<br />
//}}AFX_MSG_MAP<br />
END_MESSAGE_MAP()</p>
<p>In der Header-datei sieht das so aus:</p>
<p>// Generierte Nachrichtenzuordnungsfunktionen<br />
//{{AFX_MSG(Optionen)<br />
virtual void OnOK();<br />
afx_msg void OnButton1();<br />
//}}AFX_MSG<br />
DECLARE_MESSAGE_MAP()</p>
<p>Der OK-Button ist als virtual deklariert und Button1 als afx_msg ???????</p>
<p>Was mache ich falsch ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405049</guid><dc:creator><![CDATA[Acki]]></dc:creator><pubDate>Sun, 30 Nov 2003 17:38:59 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Sun, 30 Nov 2003 18:35:18 GMT]]></title><description><![CDATA[<p>Das ist schon ok so. Für Buttons mit IDOK und IDCANCEL ist diese Behandlungsroutine schon in der Basisklasse CDialog. Allerdings wundert es mich, dass du nicht auf Membervariablen zugreifen kannst. Zeig mal deinen Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405093</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Sun, 30 Nov 2003 18:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Mon, 01 Dec 2003 00:57:37 GMT]]></title><description><![CDATA[<p>Hier ist der Code:</p>
<p>// Optionen.cpp: Implementierungsdatei<br />
//</p>
<p>#include &quot;stdafx.h&quot;<br />
#include &quot;GameStarter.h&quot;<br />
#include &quot;Optionen.h&quot;<br />
#include &quot;DatenScreen.h&quot;</p>
<p>#ifdef <em>DEBUG<br />
#define new DEBUG_NEW<br />
#undef THIS_FILE<br />
static char THIS_FILE[] = __FILE</em>_;<br />
#endif</p>
<p>DatenScreen sDat;</p>
<p>/////////////////////////////////////////////////////////////////////////////<br />
// Dialogfeld Optionen</p>
<p>Optionen::Optionen(CWnd* pParent /<em>=NULL</em>/)<br />
: CDialog(Optionen::IDD, pParent)<br />
{<br />
//{{AFX_DATA_INIT(Optionen)<br />
m_VollScreen = FALSE;<br />
m_Schatten = FALSE;<br />
m_Device = -1;<br />
m_Screen = -1;<br />
m_Bit = -1;<br />
//}}AFX_DATA_INIT<br />
}</p>
<p>void Optionen::DoDataExchange(CDataExchange* pDX)<br />
{<br />
CDialog::DoDataExchange(pDX);<br />
//{{AFX_DATA_MAP(Optionen)<br />
DDX_Control(pDX, chkVollScreen, mc_VollScreen);<br />
DDX_Control(pDX, chkSchatten, mc_Schatten);<br />
DDX_Control(pDX, lstBit, mc_Bit);<br />
DDX_Control(pDX, lstDevice, mc_Device);<br />
DDX_Control(pDX, lstScreen, mc_Screen);<br />
DDX_Check(pDX, chkVollScreen, m_VollScreen);<br />
DDX_Check(pDX, chkSchatten, m_Schatten);<br />
DDX_CBIndex(pDX, lstDevice, m_Device);<br />
DDX_CBIndex(pDX, lstScreen, m_Screen);<br />
DDX_CBIndex(pDX, lstBit, m_Bit);<br />
//}}AFX_DATA_MAP<br />
}</p>
<p>BEGIN_MESSAGE_MAP(Optionen, CDialog)<br />
//{{AFX_MSG_MAP(Optionen)<br />
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)<br />
//}}AFX_MSG_MAP<br />
END_MESSAGE_MAP()</p>
<p>/////////////////////////////////////////////////////////////////////////////<br />
// Behandlungsroutinen für Nachrichten Optionen</p>
<p>void Optionen::OnOK(){<br />
// Daten speichern<br />
sDat.RenderDevice = mc_Device.GetCurSel();<br />
sDat.Resolution = mc_Screen.GetCurSel();<br />
sDat.Farbtiefe = mc_Bit.GetCurSel();<br />
sDat.Vollbild = 0;<br />
if(mc_VollScreen.GetCheck())<br />
sDat.Vollbild = 1;<br />
sDat.Schatten = 0;<br />
if(mc_Schatten.GetCheck())<br />
sDat.Schatten = 1;<br />
sDat.SaveDaten();<br />
CDialog::OnOK();<br />
}</p>
<p>void Optionen::LoadDaten(){<br />
// Daten laden<br />
sDat.LoadDaten();<br />
// Daten anzeigen<br />
m_Device = sDat.RenderDevice;<br />
m_Screen = sDat.Resolution;<br />
m_Bit = sDat.Farbtiefe;<br />
m_VollScreen = (sDat.Vollbild==1);<br />
m_Schatten = (sDat.Schatten==1);<br />
}</p>
<p>void Optionen::OnButton1(){<br />
sDat.Farbtiefe = 1;<br />
//mc_Schatten.</p>
<p>}</p>
<p>Also, auf sDat habe ich Zugriff (wenn ich den Punkt eingebe kommt die Liste mit allen Funktionen und Eigenschaften)...<br />
mc_Schatten ist eine Membervariable vom Typ Control.<br />
In der Routine zum Button OK greife ich darauf zu (if(mc_Schatten.GetCheck())) und es funktioniert aber in Button1 nicht !!!!<br />
Gebe ich bei OnOK den Punkt hinter mc_Schatten ein bekomme ich alle Eigenschaften und Funktionen in der Pulldownliste aber nicht in OnButton1...<br />
Beim Compilieren gibt es keine Fehlermeldung aber der Button funktioniert nicht (im ausgeführten Prog)...</p>
<p>Ich weiß nicht mehr weiter, habe alles mögliche probiert... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=":'("
      alt="😢"
    /></p>
<p>CU</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405269</guid><dc:creator><![CDATA[Acki]]></dc:creator><pubDate>Mon, 01 Dec 2003 00:57:37 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Mon, 01 Dec 2003 05:31:01 GMT]]></title><description><![CDATA[<p>sollte so aber tun ..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405273</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 01 Dec 2003 05:31:01 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Mon, 01 Dec 2003 07:57:26 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ist vielleicht OnButton1() in der .h als protected oder privat oder sonst was ausser public deklariert?<br />
wie sieht denn die .h aus? (Wenn du den Quelltext reinstellen solltest benutz bitte die Tags, dann kam mans besser lesen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> )</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405315</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Mon, 01 Dec 2003 07:57:26 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Mon, 01 Dec 2003 08:47:00 GMT]]></title><description><![CDATA[<p>Hi.<br />
Was sagt Debuger?<br />
So wie ich es verstehe, nachdem Click auf Button1 muss sich eine Farbe ändern.<br />
Versuchst du in OnButton1 UpdateData oder UpdateWindow einfügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405341</guid><dc:creator><![CDATA[_alex_]]></dc:creator><pubDate>Mon, 01 Dec 2003 08:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Mon, 01 Dec 2003 10:44:35 GMT]]></title><description><![CDATA[<p>Hellsgore schrieb:</p>
<blockquote>
<p>Servus,</p>
<p>ist vielleicht OnButton1() in der .h als protected oder privat oder sonst was ausser public deklariert?<br />
wie sieht denn die .h aus? (Wenn du den Quelltext reinstellen solltest benutz bitte die Tags, dann kam mans besser lesen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> )</p>
<p>*winke*<br />
Hellsgore</p>
</blockquote>
<p>lol ... Ist doch egal, als was OnButton1 deklariert ist, das ändert nichts daran, dass sie auf die Variablen in der eigenen Klasse zugreifen kann, sondern nur was an der Sichtbarkeit nach aussen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405389</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 01 Dec 2003 10:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Mon, 01 Dec 2003 11:13:22 GMT]]></title><description><![CDATA[<p>*g*<br />
jaja ich habs jetzt auch nochmal durchgelesen völliger Unfug.....<br />
Hatte noch keinen Kaffee zu dem Zeitpunkt gehabt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>*winke*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/405406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/405406</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Mon, 01 Dec 2003 11:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Tue, 02 Dec 2003 01:09:50 GMT]]></title><description><![CDATA[<p>Hier noch die Header:<br />
ich kann in den schon bestehenden Funktionen problemlos auf die MVariablen zugreifen, aber jetzt - selbst wenn ich eine einfache neue Member-Funktion einfüge (wie vorher z.B. DatLoad, wo's funktioniert) habe ich keinen Zugriff darauf, eben nur noch in den alten Funktionen !?!?!?!<br />
Die Funktion selber wird aufgerufen (mit Breakpoint getestet), der Compiler macht keinen Mucks (0 Warnungen, 0 Fehler), Operationen mit der Membervariablen ergeben keine Fehler (weder Compiler nocht Laufzeit) haben aber auch keinerlei Wirkung !!!</p>
<p>#if !defined(AFX_OPTIONEN_H__1837290C_DEC2_4C74_9BCF_D12D82DD1DCB__INCLUDED_)<br />
#define AFX_OPTIONEN_H__1837290C_DEC2_4C74_9BCF_D12D82DD1DCB__INCLUDED_</p>
<p>#if _MSC_VER &gt; 1000<br />
#pragma once<br />
#endif // _MSC_VER &gt; 1000<br />
// Optionen.h : Header-Datei<br />
//</p>
<p>/////////////////////////////////////////////////////////////////////////////<br />
// Dialogfeld Optionen</p>
<p>class Optionen : public CDialog<br />
{<br />
// Konstruktion<br />
public:<br />
void LoadDaten();<br />
Optionen(CWnd* pParent = NULL); // Standardkonstruktor</p>
<p>// Dialogfelddaten<br />
//{{AFX_DATA(Optionen)<br />
enum { IDD = frmOptionen };<br />
CButton mc_VollScreen;<br />
CButton mc_Schatten;<br />
CComboBox mc_Bit;<br />
CComboBox mc_Device;<br />
CComboBox mc_Screen;<br />
BOOL m_VollScreen;<br />
BOOL m_Schatten;<br />
int m_Device;<br />
int m_Screen;<br />
int m_Bit;<br />
//}}AFX_DATA</p>
<p>// Überschreibungen<br />
// Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen<br />
//{{AFX_VIRTUAL(Optionen)<br />
protected:<br />
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV-Unterstützung<br />
//}}AFX_VIRTUAL</p>
<p>// Implementierung<br />
protected:</p>
<p>// Generierte Nachrichtenzuordnungsfunktionen<br />
//{{AFX_MSG(Optionen)<br />
virtual void OnOK();<br />
afx_msg void OnButton1();<br />
//}}AFX_MSG<br />
DECLARE_MESSAGE_MAP()<br />
};</p>
<p>//{{AFX_INSERT_LOCATION}}<br />
// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.</p>
<p>#endif // AFX_OPTIONEN_H__1837290C_DEC2_4C74_9BCF_D12D82DD1DCB__INCLUDED_</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406095</guid><dc:creator><![CDATA[Acki]]></dc:creator><pubDate>Tue, 02 Dec 2003 01:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Tue, 02 Dec 2003 11:35:23 GMT]]></title><description><![CDATA[<p>Dann zeig uns doch mal deine Operationen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406283</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Tue, 02 Dec 2003 11:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Tue, 02 Dec 2003 13:36:56 GMT]]></title><description><![CDATA[<p>Na z.B. wenn ich volgendes eingebe:</p>
<p>if(mc_Schatten.GetCheck())<br />
sDat.Schatten = 1;</p>
<p>(mc_Schatten ist eine Membervariable, Typ Control, Checkbox)<br />
dann habe ich keine Liste wenn ich den Punkt hinter mc_Schatten eingebe, also dürfte das Objekt mc_Schatten da nicht existieren.<br />
Der Compiler gibt aber keine Fehler oder Warnungen aus.<br />
Wenn ich auf den Button klicke wird die Funktion zwar ausgeführt, sDat.Schatten behällt aber seinen alten Wert, egal welchen Wert mc_Schatten zurückliefern würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406403</guid><dc:creator><![CDATA[Acki]]></dc:creator><pubDate>Tue, 02 Dec 2003 13:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Button einfügen on Tue, 02 Dec 2003 14:12:28 GMT]]></title><description><![CDATA[<p>Rätsel über Rätsel...</p>
<p>Ich habe jetzt ein neues Formular eingefügt und alles vom alten da hinen kopiert. In dem neuen Formular ist alles wieder normal, ich kann nach belieben Schaltflächen einfügen !!!</p>
<p>kann mir Das bitte mal einer erklären ?¿¡!¡¿?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406446</guid><dc:creator><![CDATA[Acki]]></dc:creator><pubDate>Tue, 02 Dec 2003 14:12:28 GMT</pubDate></item></channel></rss>