🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
7 messages
7 total messages Started by Michael Groeschel Tue, 23 Jan 1996 13:01
Dialogfenstertext zur Laufzeit aendern.
#1352
Author: Michael Groeschel
Date: Tue, 23 Jan 1996 13:01
20 lines
1225 bytes
Hallo,

wir programmieren mit Borland C++ 3.1 ein Windowsprogramm.

Folgendes Problem: 
In einem Dialogfenster befinden sich 30 Checkboxen. Der Text,
der den Checkboxen zugeordnet ist, soll erst waehrend der 
Laufzeit festgelegt werden. Als Ansatz haben wir im 
Ressource Workshop das Fenster "gemalt" und die Texte als
10 blanks definiert. 

Es scheitert zur Zeit jeder Versuch, diesen Text zu Laufzeit 
zuzuweisen. Es wird immer der Text aus der Ressource verwendet.

Weiss jemand Rat?

*****************************************
* Michael Gr"oschel                     **
* groeschel@bwl.uni-mannheim.de          **
********************************************
Re: Dialogfenstertext zur Laufzeit aendern.
#1364
Author: Christian Sauer
Date: Wed, 24 Jan 1996 07:22
35 lines
1587 bytes
Michael Groeschel wrote:
> 
> Hallo,
> 
> wir programmieren mit Borland C++ 3.1 ein Windowsprogramm.
> 
> Folgendes Problem:
> In einem Dialogfenster befinden sich 30 Checkboxen. Der Text,
> der den Checkboxen zugeordnet ist, soll erst waehrend der
> Laufzeit festgelegt werden. Als Ansatz haben wir im
> Ressource Workshop das Fenster "gemalt" und die Texte als
> 10 blanks definiert.
> 
> Es scheitert zur Zeit jeder Versuch, diesen Text zu Laufzeit
> zuzuweisen. Es wird immer der Text aus der Ressource verwendet.
> 

Hallo,

	wenn ich mich recht erinnere (OWL 1.0), musst Du auf alle
Faelle fuer ein DialogBoxElement.Windows ein assoziertes Element.OWL
erzeugen, sofern Du daran manipulieren willst.

Also im Konstr. deines TDialog-Moduls 
	TStaticText (oder so) *t = new TStaticText (RessourceId..)

usw.

Schau mal ins OWL Programmierhandbuch, da muesste eigentlich ein Bsp.
& erlaeuterung dieses Programmierkonzeptes
drin sein bzw. auch im Progr.paket sind irgenwelche Example-Sourcen ...

In diesem Sinne

Christian :)
Re: Dialogfenstertext zur Laufzeit aendern.
#1366
Author: Uwe-Krischna Tantz
Date: Wed, 24 Jan 1996 11:38
46 lines
2284 bytes
> Michael Groeschel wrote:
> > 
> > Hallo,
> > 
> > wir programmieren mit Borland C++ 3.1 ein Windowsprogramm.
> > 
> > Folgendes Problem:
> > In einem Dialogfenster befinden sich 30 Checkboxen. Der Text,
> > der den Checkboxen zugeordnet ist, soll erst waehrend der
> > Laufzeit festgelegt werden. Als Ansatz haben wir im
> > Ressource Workshop das Fenster "gemalt" und die Texte als
> > 10 blanks definiert.
> > 
> > Es scheitert zur Zeit jeder Versuch, diesen Text zu Laufzeit
> > zuzuweisen. Es wird immer der Text aus der Ressource verwendet.
> > 
Du musst nicht unbedingt zu jeder Checkbox auch ein OWL-Objekt anlegen 
(man kann auch direkt den Windowsobjekten mit SendDlgItemMsg Botschaften 
schicken). 
Wichtig ist aber, dass Du den Text der Checkboxen erst dann modifizieren 
kannst, wenn sie von Windows schon erzeugt wurden.
Im Konstruktor Deines Dialogs ist das noch nicht der Fall, unmittelbar 
danach wird aber die Methode SetupWindow aufgerufen.

also so muesste es funktionieren:

TMyDlg::TMyDlg(PTWindowsObject Parent)
: TDialog (Parent, ID_DIALOG)
{
  pMyCheck = new TCheckBox (this, ID_CHECKBOX);
}

void TMyDlg::SetupWindow()
{
  TDialog::SetupWindow();
  pMyCheck->SetText("blablabla");
}

Viel Erfolg!
Uwe

+---------------------+-------------------------------------------+
| Uwe-Krischna Tantz  | Tel:   0941 / 56 31 40                    |
| Blaue-Stern-Gasse 7a| EMail: uwe.tantz@physik.uni-regensburg.de |
| 93047 Regensburg    |                                           |
+---------------------+-------------------------------------------+
Re: Dialogfenstertext zur Laufzeit aendern.
#1378
Author: Karl-Heinz Krause
Date: Wed, 24 Jan 1996 16:14
21 lines
1154 bytes
Am 23. Jan. 1996 schrieb Michael Groeschel
(groesch@chili.wifo.uni-mannheim.de):

> Folgendes Problem: 
> In einem Dialogfenster befinden sich 30 Checkboxen. Der Text,
> der den Checkboxen zugeordnet ist, soll erst waehrend der 
> Laufzeit festgelegt werden. Als Ansatz haben wir im 
> Ressource Workshop das Fenster "gemalt" und die Texte als
> 10 blanks definiert. 

Solange das Dialogfenster existiert, kann der Text der Dialogelemente
jederzeit geaendert werden mit

    SetDlgItemText (hDlg, IdItem, NeuerText);

Wenn der neue Text beim Oeffnen des Dialogfensters bereits erscheinen
soll, dann empfiehlt es sich, diese Funktion bei der Behandlung von
WM_INITDIALOG aufzurufen.


Karl-Heinz Krause
Re: Dialogfenstertext zur Laufzeit aendern.
#1381
Author: Claus Faerber
Date: Wed, 24 Jan 1996 20:29
27 lines
1401 bytes
Michael Groeschel <groesch@chili.wifo.uni-mannheim.de> schrieb zu
Dialogfenstertext zur Laufzeit aendern.
in Artikel <3104DC2D.6009@chili.wifo.uni-mannheim.de> vom 23.01.96:
> Hallo,
>
> wir programmieren mit Borland C++ 3.1 ein Windowsprogramm.
>
> Folgendes Problem:
> In einem Dialogfenster befinden sich 30 Checkboxen. Der Text,
> der den Checkboxen zugeordnet ist, soll erst waehrend der
> Laufzeit festgelegt werden. Als Ansatz haben wir im
> Ressource Workshop das Fenster "gemalt" und die Texte als
> 10 blanks definiert.

Irgendwo, zB. im WM_INITDIALOG-Handler oder da, wo sich der Text  
aendert, schreibst du einfach:

::SetWindowText( GetDlgItem( hdlg, IDC_RADIOx ), "neuer Text");

hdlg ist der Handle deines Dialogs, wenn Du mit OWL arbeitest, ist  
er Element des TDialog-Objekts.

Claus

------------------------------------------------------------------------
Claus Andre Faerber - claus@faerber.muc.de - http://www.muc.de/~cfaerber
------------------------------------------------------------------------
Re: Dialogfenstertext zur Laufzeit aendern.
#1431
Author: Karl-Heinz Krause
Date: Fri, 26 Jan 1996 16:25
14 lines
847 bytes
Am 24. Jan. 1996 schrieb Claus Faerber (claus@faerber.muc.de):

> Irgendwo, zB. im WM_INITDIALOG-Handler oder da, wo sich der Text  
> aendert, schreibst du einfach:

> ::SetWindowText( GetDlgItem( hdlg, IDC_RADIOx ), "neuer Text");

Oder noch einfacher:

    ::SetDlgItemText (hdlg, IDC_RADIOx, "neuer Text");



Karl-Heinz Krause
Re: Dialogfenstertext zur Laufzeit aendern.
#1405
Author: Ullrich von Bassewitz
Date: Fri, 26 Jan 1996 23:58
15 lines
818 bytes
Michael Groeschel (groesch@chili.wifo.uni-mannheim.de) wrote:
> wir programmieren mit Borland C++ 3.1 ein Windowsprogramm.
>
> Folgendes Problem: 

Das ist keine C++ sondern eine Windows Frage. Bitte lies meinen Artikel
"Windows Fragen in d.c.l.c++" in dieser Gruppe.

Gruss


        Uz

-- 
Ullrich von Bassewitz                              uz@ibb.schwaben.com
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads