Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2009, 18:05   #1
Raz0r
Пользователь
 
Регистрация: 06.11.2007
Сообщений: 47
По умолчанию Проблема с кнопкой MFC

Здравствуйте, у меня вопрос, как в приложении MFC(Dialog based) сделать, чтобы по нажатию кнопки прекращался цикл.
Скажем при нажатии на первую кнопку, запускается бесконечный цикл и прекратиться он должен только тогда, когда нажмётся другая кнопка...
Raz0r вне форума Ответить с цитированием
Старый 11.04.2009, 18:34   #2
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

Предполагаю, что такой цикл можно организовать только в отдельном потоке(thread), иначе не будет доступа к форме и соответственно к кнопке тоже.
Svetlag вне форума Ответить с цитированием
Старый 11.04.2009, 19:26   #3
Raz0r
Пользователь
 
Регистрация: 06.11.2007
Сообщений: 47
По умолчанию

Наверное, потому что не только к кнопке и всей форме доступа нет =) А как это примерно можно реализовать в коде?
Raz0r вне форума Ответить с цитированием
Старый 11.04.2009, 23:27   #4
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

Потому что основной процесс будет выполнять бесконечный цикл.
Попробуйте так. Это вариант с корректно завершающимся циклом, признак передается через глобальную переменную.
Чтобы лучше разобраться, почитайте литературу на эту тему.
Код:
int fl;
static HANDLE hThread;

DWORD WINAPI threadFunc(LPVOID)
{
	fl=1;
	while(fl)
	{
	//код
	}
	return 0;
}
//создание и запуск потока
void CThreadDlg::OnButton1()
{
	hThread = CreateThread(NULL, 0, threadFunc, NULL, 0, NULL);
	if(!hThread) {}//ошибка создания	
}

//установка признака для завершения потока
void CThreadDlg::OnButton2()
{
	fl=0;	
}
Svetlag вне форума Ответить с цитированием
Старый 12.04.2009, 16:27   #5
Raz0r
Пользователь
 
Регистрация: 06.11.2007
Сообщений: 47
По умолчанию

Оогромное спасибо! Проблема решена =)
Raz0r вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с MFC Nikimax Visual C++ 1 06.12.2008 22:50
Проблема с MFC zi0n Общие вопросы C/C++ 0 15.11.2008 23:20
Проблема немодального диалога в многопоточном приложении (Visual С++ 6 MFC Win32) Kernel_BuG Помощь студентам 1 26.09.2008 09:59
Учусь помогите с кнопкой сворачивать rE90 Общие вопросы C/C++ 4 10.09.2008 03:40
Народ помогите с кнопкой empy PHP 0 23.05.2007 19:46