Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Listbox von anderem Dialog füllen || Dialog nicht modal aufrufen

Empfohlene Antworten

Veröffentlicht

Hey,

Ich hab zur Zeit zwei Probleme, einerseits weiß ich nicht wie ich einen Dialog nicht modal aufrufe, andererseits kann ich wenn ich einen Button von einem Dialog klicke eine Listbox in einem anderem Dialog nicht füllen. Bitte um schnelle Hilfe !!!

P.S: Ich verzweifle mit der MFC ):

THX

1. Nicht-Modale Dialoge:

Normalerweise rufst du einen Dialog mit DoModal() auf. Aber das geht hier nicht. Du musst erst das Fenster mit ]m_pDialog = new CMyDialog erstellen und dann die Create()-Funktion aufrufen.

Beim Beenden des Dialogs mußst du natürlich noch den Speicher wieder freigeben (mit delete). Das kann man auch in der Funktion PostNcDestroy() der Dialog-Klasse machen (mit delete this).

In der MSDN ist auch ein gutes Beispiel zu Nicht-Modalen-Dialogen

2. Das Problem mit der Listbox verstehe ich nicht. Wenn du die Funktion des Buttons hast OnBtnClick() wie auch immer und da drin der Listbox Elemente hinzufügst mit AddString() müßte das doch eigentlich funktionieren, oder nicht?

Ich hoffe, dass ich dir wenigestens etwas helfen konnte.

Original geschrieben von Comroader

Hey,

Ich hab zur Zeit zwei Probleme, einerseits weiß ich nicht wie ich einen Dialog nicht modal aufrufe, andererseits kann ich wenn ich einen Button von einem Dialog klicke eine Listbox in einem anderem Dialog nicht füllen. Bitte um schnelle Hilfe !!!

P.S: Ich verzweifle mit der MFC ):

THX [/quote

Original geschrieben von mst

2. Das Problem mit der Listbox verstehe ich nicht. Wenn du die Funktion des Buttons hast OnBtnClick() wie auch immer und da drin der Listbox Elemente hinzufügst mit AddString() müßte das doch eigentlich funktionieren, oder nicht?

So wie ich Comroader verstanden habe, soll der Button einen anderen Dialog öffnen, und der hat eine Listbox.

@Comroader:

Schreib in der ersten Dialogklasse (die mit dem Button) eine Methode, die Listbox füllt, und ruf diese aus der OnInitDialog der anderen Dialogklasse (die mit der Listbox) auf. Dazu muss sich die zweite Dialogklasse einen Zeiger auf die erste merken:


class CDlg1
{
void FillListBox( CDlg2* pDlg2 ) {
// pDlg2->m_ctlListBox->AddString...
}

void OnButtonXY() {
CDlg2 dlg;
dlg.m_pDlg1 = this;
dlg.DoModal();
}
};

class CDlg2
{
CDlg1* m_pDlg1;
CListBox m_ctlListBox;

virtual BOOL OnInitDialog() {
// ...
m_pDlg1->FillListBox( this );
// ...
}
};
[/CODE]

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.