Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Помогите с модальным окном |
Автор: Nuzur 22.7.2004, 22:42 |
Посл вызова модального окна приложение не откликаеться на 1-й клик мыши |
Автор: AndyY 22.7.2004, 23:49 |
текст диалоговой функции и вызывающего кода в студию |
Автор: Leopard25 23.7.2004, 05:51 |
А раэве это нетотже вопрос ? http://forum.vingrad.ru/index.php?showtopic=26605 |
Автор: Nuzur 23.7.2004, 18:02 | ||
Тот же, прсто я его перефразировал.
Что ты имееш в иду? |
Автор: Leopard25 23.7.2004, 18:16 |
Напиши ПОЛНОСТЬЮ текст функции в которой создаёшь модальное окно и техт класса модального окна. |
Автор: Nuzur 23.7.2004, 18:56 |
вызываю 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(); } |
Автор: Leopard25 23.7.2004, 20:30 |
попробуй сделать так : CEDIT_FREE_TEXT* pTEXT; pTEXT = new CEDIT_FREE_TEXT; pTEXT->DoModal(); delete pTEXT; ::SetFocus(this->m_hWnd); А DoModal() что возвращает ? |
Автор: Nuzur 24.7.2004, 10:19 | ||
А где ето сделать? |
Автор: Nuzur 24.7.2004, 10:43 |
Тормозю. Не так ничего не получилось. Все тожеЯ, все те же... ДюМодл возвращяет значение 2. |
Автор: Leopard25 25.7.2004, 09:40 |
В какой функции вызываешь: CEDIT_FREE_TEXT* pTEXT; pTEXT = new CEDIT_FREE_TEXT; pTEXT->DoModal(); если пишешь на MS VC++ 7.0 и ниже можешь прислать текст своей программы [email protected] |
Автор: Nuzur 25.7.2004, 12:15 |
Все я выслала. |
Автор: AndyY 26.7.2004, 00:37 |
Nuzur все понятно. диалоговому окну нужно в конструктор указать окно-предок: CEDIT_FREE_TEXT* pTEXT; pTEXT = new CEDIT_FREE_TEXT( AfxGetMainWnd()); pTEXT->DoModal(); стить наименований и программирования оставим в стороне ![]() кстати, ты мальчик или девочка? ![]() |
Автор: Nuzur 26.7.2004, 19:13 | ||
ничего не помогло. Теже пироги... Я мальчик. |
Автор: Nuzur 30.7.2004, 09:09 |
Тут я заметил 1-ну интерестность. Дело в том, что AfxGetMainWnd() возвращяет нужного предка, но pTEXT всеравно делает его нулевым, почему? |
Автор: Олег М 30.7.2004, 10:19 | ||
Как это? У тебя вроде всё правильно. Проблема в чём-то другом. Вышли мне тоже исходники что ли, на [email protected]. А то по аське отвечать не хочешь... |
Автор: Nuzur 31.7.2004, 10:32 |
Я не так нехочу, ка немогу, лучше мыльте [email protected], заранее всем спасибо. |
Автор: Nuzur 1.8.2004, 18:25 |
Люди Хелп! С роботы уволят ![]() |