Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с модальным окном, MS VC++ 
:(
    Опции темы
Nuzur
Дата 22.7.2004, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Посл вызова модального окна приложение не откликаеться на 1-й клик мыши


--------------------
Never again...
PM MAIL   Вверх
AndyY
Дата 22.7.2004, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



текст диалоговой функции и вызывающего кода в студию


--------------------
PM MAIL WWW   Вверх
Leopard25
Дата 23.7.2004, 05:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А раэве это нетотже вопрос ?

http://forum.vingrad.ru/index.php?showtopic=26605
--------------------
Обдумай, верно ли и возможно ли то, что ты обещаешь, ибо обещание - есть долг. ( Конфуций )
PM MAIL ICQ   Вверх
Nuzur
Дата 23.7.2004, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Тот же, прсто я его перефразировал.
Цитата
текст диалоговой функции и вызывающего кода в студию

Что ты имееш в иду?



--------------------
Never again...
PM MAIL   Вверх
Leopard25
Дата 23.7.2004, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Напиши ПОЛНОСТЬЮ текст функции в которой создаёшь модальное окно
и техт класса модального окна.
--------------------
Обдумай, верно ли и возможно ли то, что ты обещаешь, ибо обещание - есть долг. ( Конфуций )
PM MAIL ICQ   Вверх
Nuzur
Дата 23.7.2004, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



вызываю
CEDIT_FREE_TEXT* pTEXT;
pTEXT = new CEDIT_FREE_TEXT;
pTEXT->DoModal();

сам текст вызываемого класса

// EDIT_FREE_TEXT.cpp : implementation file
//

#include "stdafx.h"
#include "XSender.h"
#include "EDIT_FREE_TEXT.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#include "CPage1.h"
#include "CPage2.h"
#include "CPage3.h"
#include "CPage4.h"


#include "XSenderDlg.h"
#include "Control.h"
#include "EDIT_FREE_TEXT.h"

extern unsigned int n_t;
extern unsigned int n_s;

extern unsigned int manual_enter;
extern unsigned int Log;

extern IoControl Work;

extern CCPage2* pPage2;
extern CCPage3* pPage3;
extern CCPage4* pPage4;


extern unsigned int table2;
extern unsigned int table3;
extern unsigned int table4;

/////////////////////////////////////////////////////////////////////////////
// CEDIT_FREE_TEXT dialog


CEDIT_FREE_TEXT::CEDIT_FREE_TEXT(CWnd* pParent /*=NULL*/)
: CDialog(CEDIT_FREE_TEXT::IDD, pParent)
{
//{{AFX_DATA_INIT(CEDIT_FREE_TEXT)
m_COMBO = _T("");
m_TEXT = _T("");
//}}AFX_DATA_INIT
}


void CEDIT_FREE_TEXT::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CEDIT_FREE_TEXT)
DDX_CBString(pDX, IDC_COMBO, m_COMBO);
DDX_Text(pDX, IDC_FREE_TEXT, m_TEXT);
//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CEDIT_FREE_TEXT, CDialog)
//{{AFX_MSG_MAP(CEDIT_FREE_TEXT)
ON_BN_CLICKED(IDC_SEND, OnSend)
ON_CBN_SELENDOK(IDC_COMBO, OnSelendokCombo)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEDIT_FREE_TEXT message handlers

void CEDIT_FREE_TEXT::OnSend()
{
CString buf;
CWnd::GetDlgItemText(IDC_FREE_TEXT, buf);
box Outcoming;
Outcoming.buffer = buf;
Outcoming.buffer_size = buf.GetLength();
Outcoming.NB = n_t;
Outcoming.NS = n_s;
Work.Dinamic.AddNew(Outcoming);

if(n_t == table2)
{
pPage2->SetDlgItemText(IDC_String_Free_Text_2, buf);
CCPage1::LogFile(true, 2, 5, buf);
}
else
{
if(n_t == table3)
{
pPage3->SetDlgItemText(IDC_String_Free_Text_3, buf);
CCPage1::LogFile(true, 3, 3, buf);
}
else
{
if(n_t == table4)
{
pPage4->SetDlgItemText(manual_enter, buf);
CCPage1::LogFile(true, 4, Log, buf);
}
}
}
}

void CEDIT_FREE_TEXT::OnSelendokCombo()
{
CString buf;
CWnd::GetDlgItemText(IDC_COMBO, buf);
CWnd::SetDlgItemText(IDC_FREE_TEXT, buf);

}

void CEDIT_FREE_TEXT::OnClose()
{

CDialog::OnClose();
}



--------------------
Never again...
PM MAIL   Вверх
Leopard25
Дата 23.7.2004, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



попробуй сделать так :

CEDIT_FREE_TEXT* pTEXT;
pTEXT = new CEDIT_FREE_TEXT;
pTEXT->DoModal();

delete pTEXT;

::SetFocus(this->m_hWnd);

А DoModal() что возвращает ?
--------------------
Обдумай, верно ли и возможно ли то, что ты обещаешь, ибо обещание - есть долг. ( Конфуций )
PM MAIL ICQ   Вверх
Nuzur
Дата 24.7.2004, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
delete pTEXT;

::SetFocus(this->m_hWnd);


А где ето сделать?


--------------------
Never again...
PM MAIL   Вверх
Nuzur
Дата 24.7.2004, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Тормозю. Не так ничего не получилось.
Все тожеЯ, все те же...
ДюМодл возвращяет значение 2.


--------------------
Never again...
PM MAIL   Вверх
Leopard25
Дата 25.7.2004, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В какой функции вызываешь:

CEDIT_FREE_TEXT* pTEXT;
pTEXT = new CEDIT_FREE_TEXT;
pTEXT->DoModal();



если пишешь на MS VC++ 7.0 и ниже
можешь прислать текст своей программы
[email protected]
--------------------
Обдумай, верно ли и возможно ли то, что ты обещаешь, ибо обещание - есть долг. ( Конфуций )
PM MAIL ICQ   Вверх
Nuzur
Дата 25.7.2004, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



 Все я выслала.

Это сообщение отредактировал(а) Nuzur - 22.11.2011, 18:17


--------------------
Never again...
PM MAIL   Вверх
AndyY
Дата 26.7.2004, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Nuzur
все понятно. диалоговому окну нужно в конструктор указать окно-предок:

CEDIT_FREE_TEXT* pTEXT;
pTEXT = new CEDIT_FREE_TEXT( AfxGetMainWnd());
pTEXT->DoModal();

стить наименований и программирования оставим в сторонеsmile.gif

кстати, ты мальчик или девочка?smile.gif


--------------------
PM MAIL WWW   Вверх
Nuzur
Дата 26.7.2004, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
CEDIT_FREE_TEXT* pTEXT; pTEXT = new CEDIT_FREE_TEXT( AfxGetMainWnd()); pTEXT->DoModal();


ничего не помогло. Теже пироги...
Я мальчик.



--------------------
Never again...
PM MAIL   Вверх
Nuzur
Дата 30.7.2004, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Тут я заметил 1-ну интерестность.
Дело в том, что AfxGetMainWnd() возвращяет нужного предка, но pTEXT всеравно делает его нулевым, почему?


--------------------
Never again...
PM MAIL   Вверх
Олег М
Дата 30.7.2004, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

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



Цитата
но pTEXT всеравно делает его нулевым, почему?

Как это?
У тебя вроде всё правильно. Проблема в чём-то другом.
Вышли мне тоже исходники что ли, на [email protected]. А то по аське отвечать не хочешь...
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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