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

MFC и UpdateData

05.07.2010, 23:01. Показов 4699. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru