Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CDialog Создание окна 
V
    Опции темы
metoflex
  Дата 17.10.2010, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 18.4.2010

Репутация: нет
Всего: нет



Здравствуйте!

У меня возникла проблемка, мне необходимо из диалогового окна, при наждатии на кнопку, вызвать другой диалог, там в Edit Box ввести необходимые мне данные, затем при нажатии на "ОК" передать это всё опять в родительское окно.

Вызов у меня получилось реализовать, а вот доступа к элементам управления (Ко всем контролам аболютно) не могу получить.

Код

CDialog D(IDD_IDNum);  //IDD_IDNum - это айдишник моего диалога
D.DoModal();


Пробовал создавать класс на новое диалоговое окно, а затем в классе родительского создать объект данного класса, но класс нового диалогового окна в родительском, хоть убейте, но не просматривается, пишет "Идентификатор не найден".

Буду Вам весьма благодарен, за любую оказанную помощь.
PM MAIL   Вверх
Cheloveck
Дата 17.10.2010, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



MyDialog.h
Код

#pragma once


class CMyDialog : public CDialog
{
public:
    CMyDialog(const CString & text, CWnd * parent = NULL);
    virtual ~CMyDialog();
    const CString & GetText() const;

protected:
    virtual void DoDataExchange(CDataExchange * dx);
    virtual void OnOK();

private:    
    CString m_text;
    CEdit m_edit;
};

MyDialog.cpp
Код

#include "stdafx.h"
#include "resource.h"
#include "MyDialog.h"

CMyDialog::CMyDialog(const CString & text, CWnd* parent): 
    CDialog(IDD_DIALOG1, parent),
    m_text(text)
{

}

CMyDialog::~CMyDialog()
{
}

void CMyDialog::DoDataExchange(CDataExchange* dx)
{
    CDialog::DoDataExchange(dx);
    DDX_Control(dx, IDC_EDIT1, m_edit);
    DDX_Text(dx, IDC_EDIT1, m_text);
}

const CString & CMyDialog::GetText() const
{
    return m_text;
}

void CMyDialog::OnOK()
{
    m_edit.GetWindowText(m_text);
    CDialog::OnOK();
}

Вызов этого добра
Код

#include "MyDialog.h"

void CtempDlg::OnBnClickedButton1()
{
    CMyDialog dialog(L"ыыы", this);
    if(IDOK == dialog.DoModal())
        MessageBox(dialog.GetText());
}


Это сообщение отредактировал(а) Cheloveck - 17.10.2010, 13:49

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  temp.zip 43,02 Kb


--------------------
user posted image
PM Jabber   Вверх
iSpite
Дата 18.11.2010, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 24.4.2010

Репутация: нет
Всего: нет



Цитата(Cheloveck @ 17.10.2010,  13:38)

Вызов этого добра
Код

#include "MyDialog.h"

void CtempDlg::OnBnClickedButton1()
{
    CMyDialog dialog(L"ыыы", this);
    if(IDOK == dialog.DoModal())
        MessageBox(dialog.GetText());
}



извините что за переменная L??? где про нее почитать можно и про остальные?
PM MAIL   Вверх
Cheloveck
Дата 18.11.2010, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



Цитата(iSpite @  18.11.2010,  17:15 Найти цитируемый пост)
 что за переменная L

это не переменная. Символом L предваряются UNICODE строки.


--------------------
user posted image
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0626 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.