Elemte im PropertyPAge ansprechen

Moin,

Vorweg gesagt, ich habe ein Problem in einem PropertySheet wozu
ich PopertyPage als Tab hinzufüge, nun auf die Eingabefelder zuzugreifen.

 CPropertySheet m\_sheet;
 CProperSett m\_pageDevice("Layout"); // CProperSett abgeleitet von CPropertyPage
 CProperSett m\_pageOther("nicht Lay");
 m\_sheet.AddPage(&m\_pageDevice);
 m\_sheet.AddPage(&m\_pageOther);
// ab hier gibts fehler
 m\_pageDrucker.m\_anzName1.SetWindowText("Text1");
//
 m\_sheet.DoModal();

m_anzName1 habe ich als Controll von CEdit und ist Public.

Ich komm nicht drann.

Moin auch,

Vorweg gesagt, ich habe ein Problem in einem PropertySheet
wozu ich PopertyPage als Tab hinzufüge, nun auf die Eingabefelder
zuzugreifen.

m_anzName1 habe ich als Controll von CEdit und ist Public.
Ich komm nicht drann.

Dran kommst Du schon, aber das Control ist noch nicht ge-mapped (initialisiert).
Da hilft leider nur ein kleine Umweg. Setze den Wert als Member (z.B. CString) mittels des Konstruktors oder einer eigenen Methode und ruf SetWindowText in der Methode ::open_mouth:nInitDialog auf.

Gruß Klaus

Hallo,

Vorweg gesagt, ich habe ein Problem in einem PropertySheet
wozu
ich PopertyPage als Tab hinzufüge, nun auf die Eingabefelder
zuzugreifen.

CPropertySheet m_sheet;
CProperSett m_pageDevice(„Layout“); // CProperSett abgeleitet
von CPropertyPage
CProperSett m_pageOther(„nicht Lay“);
m_sheet.AddPage(&m_pageDevice);
m_sheet.AddPage(&m_pageOther);
// ab hier gibts fehler
m_pageDrucker.m_anzName1.SetWindowText(„Text1“);
//
m_sheet.DoModal();

m_anzName1 habe ich als Controll von CEdit und ist Public.

Ich komm nicht drann.

Also ich kenn zwar benutz zwar MFC nicht, versteh dein Problem auch nicht wirklich, aber ich denke mal, dass die PropertyPage zu dem Zeitpunkt, zu dem du drauf zugreifen willst noch nicht erstellt wurde. Um den Text eines Controls zu setzen gibts doch WM_INITDIALOG bzw. CDialog::open_mouth:nInitdialog() :smile:

mfg,
Christoph