<?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 abfragen]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich stell mich echt doof an - probiere seit stunden einen button abzufragen ob er geklickt wurde, weil nur dann eine funktion ausgeführt werden soll.<br />
so nun das problem:</p>
<p>ich rufe mit domodal einen dialog auf und habe dort mehrere buttons.<br />
es sind toolbar buttons die ich selber gemalt habe. ein kleiner hacken soll<br />
einen neuen datensatz hinzufügen. ABER der dialog soll sich nicht schliessen!<br />
erst hatte ich den butten IDOK genannt. der datensatz wird angehangen und<br />
auch ins objekt geschrieben - leider schließt der dialog...<br />
dann habe ich den toolbar-button ID_INVOK genannt.</p>
<p>aber wie weise ich ihn eine variable zu? (er besitz keine membervariablen)<br />
oder frage ob er geklickt wurde?<br />
ich kann auch keine neue funktion mit ihm erstellen, weil mir dann alle daten des anderen dialoges verloren gehen und auch ein neues objekt abgelitten wird.</p>
<p>bei domodal geht es ja sehr einfach:</p>
<pre><code class="language-cpp">int IDWHAT;
IDWHAT = dlg.DoModal();	

.
.
.

if(IDWAT == IDOK)
	{
		m_arrInvdaten.Add(obj);
		SetModifiedFlag();
	}
</code></pre>
<p>und so benötige ich es für meinen ID_INVOK button...</p>
<p>Danke für Eure Hilfe !</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/61666/button-abfragen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 03 Jun 2026 21:38:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/61666.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Jan 2004 06:04:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Button abfragen on Fri, 16 Jan 2004 06:04:20 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich stell mich echt doof an - probiere seit stunden einen button abzufragen ob er geklickt wurde, weil nur dann eine funktion ausgeführt werden soll.<br />
so nun das problem:</p>
<p>ich rufe mit domodal einen dialog auf und habe dort mehrere buttons.<br />
es sind toolbar buttons die ich selber gemalt habe. ein kleiner hacken soll<br />
einen neuen datensatz hinzufügen. ABER der dialog soll sich nicht schliessen!<br />
erst hatte ich den butten IDOK genannt. der datensatz wird angehangen und<br />
auch ins objekt geschrieben - leider schließt der dialog...<br />
dann habe ich den toolbar-button ID_INVOK genannt.</p>
<p>aber wie weise ich ihn eine variable zu? (er besitz keine membervariablen)<br />
oder frage ob er geklickt wurde?<br />
ich kann auch keine neue funktion mit ihm erstellen, weil mir dann alle daten des anderen dialoges verloren gehen und auch ein neues objekt abgelitten wird.</p>
<p>bei domodal geht es ja sehr einfach:</p>
<pre><code class="language-cpp">int IDWHAT;
IDWHAT = dlg.DoModal();	

.
.
.

if(IDWAT == IDOK)
	{
		m_arrInvdaten.Add(obj);
		SetModifiedFlag();
	}
</code></pre>
<p>und so benötige ich es für meinen ID_INVOK button...</p>
<p>Danke für Eure Hilfe !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/437682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/437682</guid><dc:creator><![CDATA[radelt]]></dc:creator><pubDate>Fri, 16 Jan 2004 06:04:20 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Fri, 16 Jan 2004 11:50:23 GMT]]></title><description><![CDATA[<p>Das ist doch kein Problem...<br />
Wenn du im Ressourceneditor auf den Button doppelklickst, kannst du mit dem Klassenassistent eine Funktion erstellen, die aufgerufen wird, wenn der User auf den Button klickt (On...()).<br />
Oder du nimmst den traditionellen Weg:<br />
-erstelle in der Dialogklasse eine neue Funktion ohne Parameter mit dem Rückgabewert afx_msg void<br />
-trage in der Message Map ON_BN_CLICKED ein</p>
<p>Grüße Rapha<br />
ps. <a href="http://download.pearsoned.de/leseecke/VCPLUS6_21Tg/data/start.htm" rel="nofollow">http://download.pearsoned.de/leseecke/VCPLUS6_21Tg/data/start.htm</a> <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/437879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/437879</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Fri, 16 Jan 2004 11:50:23 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Sat, 17 Jan 2004 08:38:40 GMT]]></title><description><![CDATA[<p>danke für die tips und den link,<br />
aber so richtig will es noch nicht funkionieren.</p>
<p>wenn ich den button jetzt klicke spirngt er auch in die funktion - sehr gut schon mal. aber wie bokomme ich die daten aus den alten dialogfeld in meine variablen??</p>
<p>ich poste hier mal ein stück aus meinen quellcode - vielleicht weißt du was ich meine:</p>
<pre><code class="language-cpp">//----------------------------------------------------------------------------------------------------------------
// CInventarDoc Befehle

void CInventarDoc::OnInventardaten() 
{
	// TODO: Code für Befehlsbehandlungsroutine hier einfügen
	CInventarDlg dlg;

//	int IDWHAT;
//  DWHAT = 
	dlg.DoModal();	
//	UpdateData();

}
//----------------------------------------------------------------------------------------------------------------
void CInventarDoc::OnInvok() 
{
	// TODO: Code für Befehlsbehandlungsroutine hier einfügen
/*	CEdit       *i_invartnr			= (CEdit *)		GetDlgItem(IDC_INV_ARTNR);
	CEdit       *str_invbez			= (CEdit *)		GetDlgItem(IDC_INV_BEZ);
	CEdit       *str_invgruppe		= (CEdit *)		GetDlgItem(IDC_INV_GRUPPE);
	CEdit       *str_invhersteller	= (CEdit *)		GetDlgItem(IDC_INV_HERSTELLER);
	CEdit       *str_invmodell		= (CEdit *)		GetDlgItem(IDC_INV_MODELL);
	CEdit       *str_invtyp			= (CEdit *)		GetDlgItem(IDC_INV_TYP);
	CEdit       *i_invsernr			= (CEdit *)		GetDlgItem(IDC_INV_SERNR);
	CEdit       *str_invstandort	= (CEdit *)		GetDlgItem(IDC_INV_STANDORT);
	CEdit       *time_invprueftermin= (CEdit *)		GetDlgItem(IDC_INV_PRUEFTERMIN);
	CEdit       *str_invstatus		= (CEdit *)		GetDlgItem(IDC_INV_STATUS);
	CEdit       *str_invaktstatus	= (CEdit *)		GetDlgItem(IDC_INV_AKTSTATUS);
	CEdit       *str_invkostenstelle= (CEdit *)		GetDlgItem(IDC_INV_KOSTENSTELLE);//------
	CEdit       *i_invbestellschein	= (CEdit *)		GetDlgItem(IDC_INV_BESTELLSCHEIN);
	CEdit       *str_invlieferant	= (CEdit *)		GetDlgItem(IDC_INV_LIEFERANT);
	CEdit       *d_invpreis			= (CEdit *)		GetDlgItem(IDC_INV_PREIS);
	CEdit       *time_invlieferdatum= (CEdit *)		GetDlgItem(IDC_INV_LIEFERDATUM);
	CEdit       *time_invgarantie	= (CEdit *)		GetDlgItem(IDC_INV_GARANTIE);

*/	CString str_invbez,str_invgruppe,str_invhersteller,str_invmodell,str_invtyp,str_standort;
	CString str_invstatus,str_invaktstaus,str_invkostenstelle,str_invlieferant;
	int		invartnr,invsernr,invbestellschein;
	double	invpreis;
/*	CString invpreurtermin,invlieferdatum,invgarantie;

	//Object aus CInvdaten ableiten, damit man mittels Set-Funktionen auf die Protecteten Variablen zugreifen kann
	CInvdaten obj;

	//Die Werte aus dem Dialog CInventarDlg werden in MemberVariablen gespeichert und diese dann mittels Set-Funktion in das Object gelegt
	obj.SetArtnr			(invartnr);
	obj.SetBez				(dlg.m_strinvbez);
	obj.SetGruppe			(dlg.m_strinvgruppe);
	obj.SetHersteller		(dlg.m_strinvhersteller);
	obj.SetModell			(dlg.m_strinvmodell);
	obj.SetTyp				(dlg.m_strinvtyp);
	obj.SetSeriennr			(dlg.m_iinvsernr);
	obj.SetStandort			(dlg.m_strinvstandort);
	obj.SetPrueftermin		(dlg.m_timeinvprueftermin);
	obj.SetStatus			(dlg.m_strinvstatus);
	obj.SetAktstatus		(dlg.m_strinvaktstatus);
	obj.SetKostenstelle		(dlg.m_strinvkostenstelle);
	obj.SetBestellscheinnr	(dlg.m_iinvbestellschein);
	obj.SetLieferant		(dlg.m_strinvlieferant);
	obj.SetPreis			(dlg.m_dinvpreis);
	obj.SetLieferdatum		(dlg.m_timeinvlieferdatum);
	obj.SetGarantie			(dlg.m_timeinvgarantie);
*/	
	//Hier wird das Object mit einem kompletten Invdatensatz als Inhalt dem Array angehangen, wenn 
	//IDWHAT dlg.DoModal mit IDOK übergeben wurde
	//Add schreibt an das Ende eines Arrays den Datensatz

//	if(ID_INVOK)
//	{
	//Object aus CInvdaten ableiten, damit man mittels Set-Funktionen auf die Protecteten Variablen zugreifen kann

	CInventarDlg dlg;

	int IDWHAT;
	IDWHAT = dlg.DoModal();	

	CInvdaten obj;

	//Die Werte aus dem Dialog CInventarDlg werden in MemberVariablen gespeichert und diese dann mittels Set-Funktion in das Object gelegt
	obj.SetArtnr(dlg.m_iinvartnr);
	obj.SetBez(dlg.m_strinvbez);
	obj.SetGruppe(dlg.m_strinvgruppe);
	obj.SetHersteller(dlg.m_strinvhersteller);
	obj.SetModell(dlg.m_strinvmodell);
	obj.SetTyp(dlg.m_strinvtyp);
	obj.SetSeriennr(dlg.m_iinvsernr);
	obj.SetStandort(dlg.m_strinvstandort);
	obj.SetPrueftermin(dlg.m_timeinvprueftermin);
	obj.SetStatus(dlg.m_strinvstatus);
	obj.SetAktstatus(dlg.m_strinvaktstatus);
	obj.SetKostenstelle(dlg.m_strinvkostenstelle);
	obj.SetBestellscheinnr(dlg.m_iinvbestellschein);
	obj.SetLieferant(dlg.m_strinvlieferant);
	obj.SetPreis(dlg.m_dinvpreis);
	obj.SetLieferdatum(dlg.m_timeinvlieferdatum);
	obj.SetGarantie(dlg.m_timeinvgarantie);

	//Hier wird das Object mit einem kompletten Invdatensatz als Inhalt dem Array angehangen, wenn 
	//IDWHAT dlg.DoModal mit IDOK übergeben wurde
	//Add schreibt an das Ende eines Arrays den Datensatz

		m_arrInvdaten.Add(obj);
		SetModifiedFlag();
	//UpdateData();
//	UpdateData();
}
</code></pre>
<p>wie du siehst habe ich alle möglichen sachen getestet und ich dachte mit &quot;UpdateData();&quot; würde er die variablen auch füllen - aber ich bekomme die fehlermeldung &quot;UdateData&quot; nicht deklarierter bezeichner....<br />
und ich glaube auch das beim zweiten mal ableiten der dlgclasse die felder wieder leer sind, oder (obwohl der dlg noch offen ist)?<br />
(ich arbeite im ...doc.cpp)</p>
<p>vielleicht kannst du mir nochmal helfen <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="🙂"
    /><br />
Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/438470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/438470</guid><dc:creator><![CDATA[radelt]]></dc:creator><pubDate>Sat, 17 Jan 2004 08:38:40 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Sun, 18 Jan 2004 13:40:13 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>du kannst auf die Variablen des Dialogs ganz normal zugreifen:</p>
<pre><code class="language-cpp">CInventarDlg dlg; 
int IDWHAT; 
DWHAT = dlg.DoModal();
if(IDWHAT == IDOK)
{
  // Alles klar, Datensatz hinzufügen
  CString strString1 = dlg.m_strString1; // m_strString1 = Variable zu einem Editfeld
  //blablabla
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/439077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439077</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Sun, 18 Jan 2004 13:40:13 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Sun, 18 Jan 2004 13:49:53 GMT]]></title><description><![CDATA[<p>Ach sorry, soweit warst du ja schon.</p>
<p>Überschreibe mal OnOk in deiner Dialogklasse und füge ein UpdateData ein.</p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439089</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Sun, 18 Jan 2004 13:49:53 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Sun, 18 Jan 2004 19:13:19 GMT]]></title><description><![CDATA[<p>ich bekomme die fehlermeldung &quot;UdateData&quot; nicht deklarierter bezeichner....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439372</guid><dc:creator><![CDATA[radelt]]></dc:creator><pubDate>Sun, 18 Jan 2004 19:13:19 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Sun, 18 Jan 2004 19:46:22 GMT]]></title><description><![CDATA[<p>radelt schrieb:</p>
<blockquote>
<p>ich bekomme die fehlermeldung &quot;UdateData&quot; nicht deklarierter bezeichner....</p>
</blockquote>
<p>dann achte mal auf die richtigschreibung der bezeichner in deinem code.</p>
<p>das sollte wahrscheinlich U<strong>p</strong>dateData(...) an der stelle sein!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439381</guid><dc:creator><![CDATA[alex-t]]></dc:creator><pubDate>Sun, 18 Jan 2004 19:46:22 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Mon, 19 Jan 2004 14:20:08 GMT]]></title><description><![CDATA[<p>Ähm....?!?, sollte es nicht heissen: UpdateData(TRUE) oder UpdateData(False)<br />
stehen, je nachdem ob du Daten holst oder sendest ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/439854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439854</guid><dc:creator><![CDATA[SevenOfNine]]></dc:creator><pubDate>Mon, 19 Jan 2004 14:20:08 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Mon, 19 Jan 2004 14:57:27 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>die Deklaration der Funktion:</p>
<p>MSDN schrieb:</p>
<blockquote>
<p>BOOL UpdateData( BOOL bSaveAndValidate = TRUE );</p>
</blockquote>
<p>Somit ist TRUE der Standartparameter und kann weggelassen werden <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="😉"
    /><br />
Grüße Rapha</p>
<p>[edit]Außerdem möchte ich mal sehen, wie du UpdateData(<strong>False</strong>) kompilierst <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 [/edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439886</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Mon, 19 Jan 2004 14:57:27 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Mon, 19 Jan 2004 23:32:14 GMT]]></title><description><![CDATA[<p>ich weiss nicht, ich meine ich hätte in den klammern drei punkte geschrieben. das soll natürlich heissen, dass da nach bedarf etwas eingetragen wird. ich denke wenn man etwas erfahrung hat, dann sucht man sich in einer guten referenz, z.b. msdn die beschreibung für den bezeichner heraus.</p>
<p>dann noch ein wenig lesen, und man weiss was damit gemeint ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/440226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/440226</guid><dc:creator><![CDATA[alex-t]]></dc:creator><pubDate>Mon, 19 Jan 2004 23:32:14 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Tue, 20 Jan 2004 09:36:12 GMT]]></title><description><![CDATA[<p>Rapha</p>
<p>[edit]Außerdem möchte ich mal sehen, wie du UpdateData(<strong>False</strong>) kompilierst <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 [/edit][/quote]</p>
<p>Dumme Frage: Warum soll man UpdateData(FALSE); nicht compilieren können ??? <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/440341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/440341</guid><dc:creator><![CDATA[IandI]]></dc:creator><pubDate>Tue, 20 Jan 2004 09:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Button abfragen on Tue, 20 Jan 2004 11:42:54 GMT]]></title><description><![CDATA[<p>würde jetzt so gerne dumme antw... sagen, aber das lasse ich mal.</p>
<p>copy&amp;paste seines befehls in ein testprogramm und dann versuchen zu erstellen. wenn du das mal versucht hast, wirst du merken, was gemeint war.</p>
<p>und bitte nicht immer so schöne ausdrücke benutzen. würdest du als antwort auch nur ungerne lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/440403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/440403</guid><dc:creator><![CDATA[alex-t]]></dc:creator><pubDate>Tue, 20 Jan 2004 11:42:54 GMT</pubDate></item></channel></rss>