1. Ести цикл моделирования, движения автомобиля. нужно на кaждом проходе этого цикла выводить промежуточный результат в область окна. Подскажите как это сделать
2. как сделать запуск этого цикла во нажатию кнопки на тулбаре или выборе пункта меню. (В карте сообщений кнопка описана как ID_START).
_________________ Debian Lenny/Sid
при установке линукс не пострадал ни один пингвин, полегли все дятлы
Member
Статус: Не в сети Регистрация: 15.04.2004 Откуда: Москва
Ты же сам задал, что при нажатии ID_START будет вызываться метод work.
А для вывода промежуточных значений в методе work используй пару GetMessage/DispatchMessaage для отрисовки
Member
Статус: Не в сети Регистрация: 16.09.2003 Откуда: Питер
И не забудь про SendMessage - посылать сообщения своему окну для перерисовки с указанием новых параметров движения твоего авто
А вообще переходи на WinAPi, мне оно больше нравицца нежели MFC.
Member
Статус: Не в сети Регистрация: 17.09.2003 Откуда: UA г.Донецк
Спасибо все сделал. еще один вопрос.При работе функции используеться цик, довольно таки большой, и естестыенно во время рабрты цикла окно подвисае, как этого избежать.
Саша-I
Цитата:
А вообще переходи на WinAPi, мне оно больше нравицца нежели MFC.
C удовольствием, но требуют MFC.
_________________ Debian Lenny/Sid
при установке линукс не пострадал ни один пингвин, полегли все дятлы
Но он глючный... Косяк проявляется следующим образом:
1. Рисуем таблицу
2. Вставляем после неё тэг
3. Рисуем такю же таблицу
Так вот, если размер таблицы (похоже в байтах) превышает какой-то предел (преедл зависит как от количества сток, так и от количества столбцов. У меня печатается таблица либо 5*30 либо 4*40 столбцы/строки ), то документ отказывается печататься (принтер говорит что какая-то ошибка)!
В предварительном просмотре все выглядит вполне нормально!
Статус: Не в сети Регистрация: 03.09.2004 Откуда: Москва
Такая проблемка. Пишу небольшую программку на API. Так вот мне очень нужно вызвать стандартный диалог OpenFile или SaveAs. Как все просто в Builder и MFC, а тут ни в какую не хочет работать. Сделал все, как написано в MSDN, а все равно не вызывается этот диалог. Может тут мне кто поможет.
P.S.Если фрагмент с работающим исходным кодом, вообще отлично.
Babrick Могу только на Delphi подсказать, если тебе надо...
Код:
procedure ShowOpenDlg; Var OpenDlg: TOpenDialog; begin OpenDlg:=TOpenDialog.Create(Self); OpenDlg.Filter:='Текстовый файлик (*.txt)|*.txt'; If OpenDlg.Execute then ShowMessage(OpenDlg.FileName); end;
Member
Статус: Не в сети Регистрация: 24.09.2003 Откуда: г. Кострома
вот так на мфс, хотя наверно тебе не это нужно
это диалог для сохранения файла
CFileDialog fd(FALSE,"dat",NULL,OFN_OVERWRITEPROMPT,"*.dat",this);
if(fd.DoModal() == IDOK)
{
//делаем что нужно
}
для открытия нужно так:
CFileDialog fd(FALSE,"dat",NULL,OFN_OVERWRITEPROMPT,"*.dat",this);
Я нашел только одно отличие между присланным мне кодом, и тем кодом который написал я, а именно
char *str;
str = new char[200];
.....
ofn.lpstrFile=str;
ofn.nMaxFile=(int)sizeof(str);
Еще позже выяснилось, что достаточно просто закомментировать строчку str = new char[200]; чтобы все заработало. Так вот, не могу понять, в чем же собственно дело? Что страшного в том, чтобы под указатель выделить память для целого массива. Какие будут мнения, господа программисты?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения