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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2013, 01:38   #1
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию MDI исправьте ошибки

Здравствуйте!
Уже неделю бьюсь над этой прогой. Нужно написать MDI приложение. Где-то нашёл пример, начал в него добавлять всякие плюшки. Столкнулся с кучей проблем:
1. тулбар (перекрывается дочерними окнами)
2. изменение положения клиентского окна (таким способом пытаюсь решить первую проблему, но при изменении размеров главного окна всё ломается)

Прошу просмотреть программу, исправить ошибки (в крайнем случае рассказать как нужно делать правильно), удалить лишнее, дать полностью работающий пример MDI приложения с подробными комментариями .

http://zalil.ru/34270654

а ещё хочу ссылку на русскоязычный сайт с готовыми примерами по апи. (именно сейчас нужны примеры работы с файлами типа текстовых редакторов) чем проще тем лучше так как я ещё толком и свою прогу не осилил ))
x_Alex_x вне форума Ответить с цитированием
Старый 18.02.2013, 21:22   #2
StIX-S
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 69
По умолчанию

Особого желания вдумываться в ваш код у меня нет, поэтому сразу готовый пример. Взято из эксемплов DevC++.
Вложения
Тип файла: rar MDIApp.rar (6.2 Кб, 17 просмотров)
StIX-S вне форума Ответить с цитированием
Старый 19.02.2013, 00:00   #3
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Спасибо, конечно, но десятая студия выдаёт ошибки при компиляции типа duplicate resource. type:MENU, name:MAIN, language:0x0409 или failure during conversion to COFF: file invalid or corrupt.
И что это за файл .dev? Может всё таки посмотрите мою прогу? В ней то я хотя бы более-менее разобрался.
Во вложенном файле ехе-шник проги. При запуске нормально выглядит, а если попытаться изменить размер окна, клиентская область разворачивается и закрывает тулбар(
Вложения
Тип файла: rar MDI_Project1.rar (4.4 Кб, 11 просмотров)

Последний раз редактировалось x_Alex_x; 19.02.2013 в 00:10.
x_Alex_x вне форума Ответить с цитированием
Старый 19.02.2013, 09:08   #4
StIX-S
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 69
По умолчанию

Чтобы избавиться от ошибки duplicate resource, надо просто MdiApp.rc выкинуть из проекта, т.к. он в себе повторно подключает mdi_res.rc. Файл *.Dev это файл проекта DevC++, он вам не нужен. Ладно, я вечерком гляну ваш код, но ничего не обещаю.
StIX-S вне форума Ответить с цитированием
Старый 20.02.2013, 02:39   #5
StIX-S
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 69
По умолчанию

В общем, пришлось конечно по париться с вашим "чудо" кодом, но вроде всё работает как положено. Кое что перенес, кое что выкинул. Свои комментарии и остальное сами уж почистите. Дело в том, что клиентское окно полностью занимает главное оно и тулбар не видно, поэтому в WM_SIZE рассчитываем высоту тулбара и смещаем клиентскую область на это значение, чтобы она не закрывала тулбар при этом естественно клиентская область будет меньше на высоту тулбара. Так как студия у меня новее, то сами создадите пустой проект и туда добавите файлы. Также приложил тот самый пример, который в 1 раз посоветовал, я там выкинул не нужное, осталось только также создать новый проект (отключить юникод) и подключить файлы. Для обоих проектов приложил откомпиленные эксешники.
Вложения
Тип файла: rar MDI_App.rar (9.4 Кб, 15 просмотров)
Тип файла: rar MDIApp_Example.rar (11.4 Кб, 13 просмотров)
StIX-S вне форума Ответить с цитированием
Старый 20.02.2013, 11:11   #6
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Спасибо большое! Всё отлично работает) И пример тоже запустился. Думаю, он мне очень пригодится. Только вот ехе-шники просят MSVCP100.dll Стоит ли мне обновить студию или просто докачать эту библиотеку?
x_Alex_x вне форума Ответить с цитированием
Старый 20.02.2013, 17:04   #7
StIX-S
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 69
По умолчанию

Если у вас 2010 студия, то обновлять не надо. Приложения откомпиленные в 2012 студии не будут работать на WinXP и более ранних версиях. Если нужно, поставьте Redistributable 2010, хотя студия 2010 ставит его по умолчанию, не знаю почему у вас её просит.
StIX-S вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправьте ошибки Devil669 Microsoft Office Excel 4 15.12.2012 23:30
исправьте ошибки в массиве Anton94.by Помощь студентам 1 01.12.2011 22:26
исправьте ошибки rwrwrw Паскаль, Turbo Pascal, PascalABC.NET 1 26.10.2011 08:59
исправьте ошибки CHOSEN1 Помощь студентам 7 08.10.2010 15:48
Исправьте синтаксические ошибки Superlotles Общие вопросы C/C++ 4 25.03.2010 12:40