Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 1
Регистрация: 01.11.2013
Сообщений: 13

Немодальный диалог и его значения

02.11.2013, 16:00. Показов 892. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем создается у меня немодальный диалог и он не отображает значения в Edit box, даже те, которые я выставляю по умолчанию.
Если передавать в Edit box значения, потом вытаскивать их, то мы заметим, что значения edit box сохраняет, но не отображает.

По интернету полазил - решения не нашел.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//При нажатии на кнопку, отображаем немодальный диалог.
void CMainDlg::OnTest()
{
    if (!m_ndlgChar)
    {
        m_ndlgChar.Create(IDD_NDLG_CHAR, NULL);
        m_ndlgChar.ShowWindow(SW_SHOW);
    }
    else {
        if (m_ndlgChar.IsWindowVisible())
            m_ndlgChar.ShowWindow(SW_HIDE);
        else
            m_ndlgChar.ShowWindow(SW_SHOW);
    }
    m_ndlgChar.UpdateWindow();
}
C++
1
2
3
4
5
6
7
// Для примера, передаем значение
CCrCharDlg dlg   //модальный диалог из которого вытаскиваем значение
CCharNDlg ndlg; // немодальный диалог в который записываем значение
ndlg.m_stCharName = dlg.m_edCharName; //Ничего не выводит
m_stCharName = ndlg.m_stCharName        //Выводит значение dlg.m_edCharName
 
UpdateData(FALSE);
Добавлено через 16 часов 0 минут
Можете мне что-нибудь подсказать по этому поводу? UpdateData(FALSE); уже вставлял во все что мог, где передавал значение и ничего. Так же значение по умолчанию, которые передаю тоже не работают. в чем причина?
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*******
/ CharNDlg.h
/**************/
#pragma once
 
// диалоговое окно CCharNDlg
 
class CCharNDlg : public CDialogEx
{
    DECLARE_DYNAMIC(CCharNDlg)
 
public:
    CCharNDlg(CWnd* pParent = NULL);   // стандартный конструктор
    virtual ~CCharNDlg();
 
// Данные диалогового окна
    enum { IDD = IDD_NDLG_CHAR };
 
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // поддержка DDX/DDV
 
    DECLARE_MESSAGE_MAP()
public:
    CString m_nstCharName;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/******************************
/ CharNDlg.cpp: файл реализации
/******************************/
#include "stdafx.h"
#include "NIWA.h"
#include "CharNDlg.h"
#include "afxdialogex.h"
 
 
// диалоговое окно CCharNDlg
 
IMPLEMENT_DYNAMIC(CCharNDlg, CDialogEx)
 
CCharNDlg::CCharNDlg(CWnd* pParent /*=NULL*/)
    : CDialogEx(CCharNDlg::IDD, pParent)
    , m_nstCharName(_T("---"))
{
 
}
 
CCharNDlg::~CCharNDlg()
{
}
 
void CCharNDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_NSTCHAR_NAME, m_nstCharName);
}
 
 
BEGIN_MESSAGE_MAP(CCharNDlg, CDialogEx)
END_MESSAGE_MAP()
 
 
// обработчики сообщений CCharNDlg
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2013, 16:00
Ответы с готовыми решениями:

Немодальный диалог в MS VS 2008
Создал диалоговое окно в конструкторе ресурсов и создаю его как немодальное диалоговое окно в основном окне функцией CreateDialog....

Немодальный диалог не отображается (MFC)
Добрый день. Программирую при помощи MFC, хочу сделать чтобы при нажатии на ЛКМ появлялся немодальный диалог. Я чувствую что он...

Немодальный диалог, передача переменной главному диалогу
вобщем столкнулся с такой проблемкой: по нажатию на кнопке открываю не модальный диалог CNoModalDlg *pDlg; pDlg = new CNoModalDlg(); ...

4
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
02.11.2013, 17:17
Цитата Сообщение от pleshevskiy Посмотреть сообщение
CCharNDlg ndlg; // немодальный диалог в который записываем значение
не понял????
а этот m_ndlgChar куда девался?
Цитата Сообщение от pleshevskiy Посмотреть сообщение
CCharNDlg ndlg; // немодальный диалог в который записываем значение
ndlg.m_stCharName = dlg.m_edCharName; //Ничего не выводит
m_stCharName = ndlg.m_stCharName * * * *//Выводит значение dlg.m_edCharName
а где ты диалог создаешь ndlg?
вызов конструктора это еще не создание диалога
Create где? ShowWindow где?
0
1 / 1 / 1
Регистрация: 01.11.2013
Сообщений: 13
02.11.2013, 17:40  [ТС]
ValeryS, . В самом начале я написал код создания немодального диалога. Там всё. А тот кусок что ты прочел это уже передача значения в диалог. Да один косяк с моей стороны, я не написал, что у меня m_ndlgChar объявлен как глобальная переменная CDialog.

Добавлено через 6 минут
..... когда объяснял тебе, сразу понял что ошибка в определении.... все... тема закрыта.
нужно было сделать так:
C++
1
CCharNDlg m_ndlgChar; //а не CDialog m_ndlgChar;
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
02.11.2013, 17:48
Цитата Сообщение от pleshevskiy Посмотреть сообщение
В самом начале я написал код создания немодального диалога. Там всё. А тот кусок что ты прочел это уже передача значения в диалог.
ты не видишь что в разных кусках кода ты создаешь два разных диалога
Цитата Сообщение от pleshevskiy Посмотреть сообщение
m_ndlgChar.Create(IDD_NDLG_CHAR, NULL);
m_ndlgChar.ShowWindow(SW_SHOW);
и
Цитата Сообщение от pleshevskiy Посмотреть сообщение
CCharNDlg ndlg;
ndlg и m_ndlgChar как то не похожи между собой
0
1 / 1 / 1
Регистрация: 01.11.2013
Сообщений: 13
02.11.2013, 18:17  [ТС]
Я вообще не понял кто меня укусил, что я создал CDialog когда переносил в глобальную переменную... Даже не думал туда заглянуть и искал ошибку в другом месте... впредь нужно быть внимательнее...

з.ы. CCharNDlg ndlg; это локальная переменная и по сути она не считается ошибкой.. я же не 2 раза создаю диалог)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2013, 18:17
Помогаю со студенческими работами здесь

Немодальный диалог в DLL
Пытаюсь в функции DLL создать немодальный диалог с помощью CreateDialog. Функция возвращает ошибку 1813 (указанный тип ресурса в файле...

Создать немодальный диалог
Написать программу, в которой используется диалог для работы со структурами данных, определяющими списки. Ввод элементов данных...

Немодальный диалог для х64
Возникла проблема - в Визуал Фортран был пример с использованием ProgressBar в немодальном диалоге через dll. При его переносе в Fortran XE...

Заменить немодальный диалог на модальный
Всем привет. У меня появилась некоторая проблема, при изучении языка С++Bilder 6.0 Так как я пропустил некоторое кол-во пар ( я учусь в...

Сабклассирование и немодальный диалог с нажатием ENTER/ESC
Проблема в использовании клавиш Enter и Escape при сабклассировании с испольщованием в качестве родителя - немодального диалога. (меню -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru