Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
32 / 34 / 3
Регистрация: 27.12.2009
Сообщений: 106

MFC и UpdateData

05.07.2010, 23:01. Показов 4659. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Bmdlg.cpp
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// bmDlg.cpp : файл реализации
//
 
#include "stdafx.h"
#include "bm.h"
#include "bmDlg.h"
#include <ctime>
 
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
 
 
// диалоговое окно CbmDlg
 
 
 
void gen();
CbmDlg::CbmDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CbmDlg::IDD, pParent)
    , nC1(0)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
 
void CbmDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_EDIT1, nC1);
    DDX_Control(pDX, IDC_EDIT1, m_Edit);
}
 
BEGIN_MESSAGE_MAP(CbmDlg, CDialog)
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
    ON_BN_CLICKED(IDC_BUTTON1, &CbmDlg::OnBnClickedButton1)
    ON_BN_CLICKED(IDC_BUTTON2, &CbmDlg::OnBnClickedButton2)
    ON_BN_CLICKED(IDC_BUTTON3, &CbmDlg::OnBnClickedButton3)
END_MESSAGE_MAP()
 
 
// обработчики сообщений CbmDlg
 
BOOL CbmDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
 
    // Задает значок для этого диалогового окна. Среда делает это автоматически,
    //  если главное окно приложения не является диалоговым
    SetIcon(m_hIcon, TRUE);         // Крупный значок
    SetIcon(m_hIcon, FALSE);        // Мелкий значок
 
    // TODO: добавьте дополнительную инициализацию
 
    return TRUE;  // возврат значения TRUE, если фокус не передан элементу управления
}
 
// При добавлении кнопки свертывания в диалоговое окно нужно воспользоваться приведенным ниже кодом,
//  чтобы нарисовать значок. Для приложений MFC, использующих модель документов или представлений,
//  это автоматически выполняется рабочей областью.
 
void CbmDlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // контекст устройства для рисования
 
        SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
 
        // Выравнивание значка по центру клиентского прямоугольника
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;
 
        // Нарисуйте значок
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}
 
// Система вызывает эту функцию для получения отображения курсора при перемещении
//  свернутого окна.
HCURSOR CbmDlg::OnQueryDragIcon()
{
    return static_cast<HCURSOR>(m_hIcon);
}
int nC2,nC3;
void gen()
{
    srand(time(0));
    nC2 = rand()%100;
    nC3 = rand()%100;
    nC1 = nC2;
             UpdateData(FALSE);
    
}
 
void CbmDlg::OnBnClickedButton1()
{
    if (nC3 > nC2)
        AfxMessageBox(_T("You win!!!"));
    else
        AfxMessageBox(_T("You lose!"));
    gen();
}
 
void CbmDlg::OnBnClickedButton2()
{
    if (nC3 == nC2)
        AfxMessageBox(_T("You win!!!"));
    else
        AfxMessageBox(_T("You lose!"));
    gen();
}
 
void CbmDlg::OnBnClickedButton3()
{
    if (nC3 < nC2)
        AfxMessageBox(_T("You win!!!"));
    else
        AfxMessageBox(_T("You lose!"));
    gen();
}
bmdlg.h
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
37
// bmDlg.h : файл заголовка
//
 
#pragma once
#include "afxwin.h"
 
 
// диалоговое окно CbmDlg
class CbmDlg : public CDialog
{
// Создание
public:
    CbmDlg(CWnd* pParent = NULL);   // стандартный конструктор
 
// Данные диалогового окна
    enum { IDD = IDD_BM_DIALOG };
 
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // поддержка DDX/DDV
 
 
// Реализация
protected:
    HICON m_hIcon;
 
    // Созданные функции схемы сообщений
    virtual BOOL OnInitDialog();
    afx_msg void OnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    DECLARE_MESSAGE_MAP()
public:
    double nC1;
    afx_msg void OnBnClickedButton1();
    afx_msg void OnBnClickedButton2();
    afx_msg void OnBnClickedButton3();
    CEdit m_Edit;
};
Code
1
2
3
1>c:\documents and settings\илья\мои документы\visual studio 2008\projects\bm\bm\bmdlg.cpp(98) : warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных
1>c:\documents and settings\илья\мои документы\visual studio 2008\projects\bm\bm\bmdlg.cpp(101) : error C2065: nC1: необъявленный идентификатор
1>c:\documents and settings\илья\мои документы\visual studio 2008\projects\bm\bm\bmdlg.cpp(102) : error C3861: UpdateData: идентификатор не найден
Делал проект аналогичными методами вывода в EDIT, все было нормально, а в этом проекте выдает ошибки. В чем дело?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.07.2010, 23:01
Ответы с готовыми решениями:

UpdateData (MFC) не отображает данные
Всем доброго времени суток! Застрял на моменте создания диалоговых окон. Имеется одно главное окно, через меню из выпадающего списка...

MFC- вызов UpdateData из потока - C++
Здравствуйте, такой вопрос. Пишу прогу под MFC. Есть отдельный поток. В этом потоке парсится строка, и надо разместить радиобаттонах...

Аналог UpdateData в C#
подскажите пожалуйста, в MFC используется BOOL CWnd::UpdateData(BOOL bSaveAndValidate) какие аналоги есть в C#? нашла подобное обсуждение...

1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
05.07.2010, 23:24
ailia, функция gen не является методом класса, откуда в ней будет виден nC1? Ровно так же, как и UpdateData().
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2010, 23:24
Помогаю со студенческими работами здесь

Edit и UpdateData или его аналог
Суть: есть Edit и его содержимое должно обновляться автоматически по ходу выполнения работы алгоритма. Надписи типа Edit-&gt;Text =...

Функция UpdateData() - не работает и возвращает False
Есть класс: Imports System.Data.SqlClient Public Class Author Private cnPubs As SqlConnection Private daPubs As...

error C3861: UpdateData: идентификатор не найден
Вот такая ошибка, и не могу понять почему выдает error C3861: UpdateData: идентификатор не найден

подключение классов MFC к не MFC
Как подключить MFC Class From ActiveX Control к не MFC проекту? т.е. пишу обычными винапи функциями, а из этого класса нужны функции...

Из MFC 2012 в MFC 2005
Есть прокт для студии 12, всё хорошо, писал на 8ке в VS 2012 и он отлично работает. Позже понадобилось портировать его для 2005, я это всё...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru