![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Гость_Alex |
|
|||
|
Unregistered |
Всем привет!
Пытаюсь освоить основы WinAPI. И никак не могу догнать, как сделать свой стиль окна. Мне надо что бы оно не позволяло изменять размер и кнопочка навесь экран была неактивна. И где вообще можно почитать про это? Спасибо |
|||
|
||||
| Denn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Петзольд. Программирование для Windows 95.
|
|||
|
||||
| Гость_Alex |
|
|||
|
Unregistered |
Другими словами это не возможно?
Или ты пытаешься мне сказать, что это WinAPI первобытный век. Если так то твоё мнение меня не интересует, хочу просто узнать ответ на свой вопрос |
|||
|
||||
| Denn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Я ответил на вопрос где можно почитать. Для главного окна стили выставляются в WinMain при инициализации структуры WNDCLASS(EX), а для дочерних в Create(Ex), либо при наследовании дочерних окон.
Кстати книжка чудная хоть и старая конечно. Это сообщение отредактировал(а) Denn - 22.8.2005, 16:05 |
|||
|
||||
| Гость_Alex |
|
|||
|
Unregistered |
А можешь примерчик скинуть?
|
|||
|
||||
| Denn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
У меня нету таковых - сам давно MFC юзаю.
Можешь посмотреть на http://www.sources.ru/cpp/winapi/index.html, http://www.codeproject.com. И здесь можно http://softboard.ru/lofiversion/index.php/t18436.html. |
|||
|
||||
| Гость_Alex |
|
|||
|
Unregistered |
Спасибо
А то куда не обратишься, все трыднят, что это старая тема и ничего не знают. Классный у вас тут форум! |
|||
|
||||
| rsm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: 4 Всего: 62 |
Спокойствие, нетерпеливый пришелец!
Это сообщение отредактировал(а) rsm - 23.8.2005, 09:42 Присоединённый файл ( Кол-во скачиваний: 3 )
window.zip 1,97 Kb |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 4 Всего: 49 |
Небольшое замечание: функция ExitProcess() приводит к завершению приложения. Это API функция, которая ничего не знает о таких фичах языка Си++, как деструкторы и т.д.
Вот пример:
Если расскоментировать строчку с вызовом ExitProcess(), то мы никогда не увидем message box. Вывод: НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ЭТУ ФУНКЦИЮ В СВОЁМ КОДЕ. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| rsm |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: 4 Всего: 62 |
А кто сказал, что я пишу на С++?
Теоретически, можно было бы написать и return, чтобы просто выйти из функции обратно в дерби ОСи. Это вполне корректно работает в Вин2000. Но где гарантия, что оно же будет нормально работать в других Виндах? |
||||
|
|||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
rsm что-то я стобой не совсем согласен.
Как раз return в main штука более универсальная и безопасная и работает не только в Windows любых версий, но и в Unix,Linux... |
|||
|
||||
| srd |
|
||||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 4 Всего: 49 |
Очень часто код на Си и Си++ смешивается, и такое поведение Си-части сломает Си++ - часть. Собственно, это я и имел в виду.
Если имеется в виду return из точки входа (main()/WinMain()), то это будет работать на любой версии Винды. А гарантия - то, что твой компилятор а) является компилятором языка Си/Си++, для которого смысл инструкции return вполне определён б) предназначен для разработки Win32-приложений, вот и всё. -------------------- Не смей читать мою подпись!!! |
||||
|
|||||
| rsm |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: 4 Всего: 62 |
В моей программе точка входа изменена, сделано это с целью экономии ресурсов - 2 Кб это лучше 9,5 Кб при использовании WinMain. В общем и целом я согласен и признаю вашу правоту относительно того, что для Си\С++ такой код будет не самым лучшим. Это все тлетворное влияние кодинга на Ассемблере, в котором при ошибке в балансе стэка по ret'у в конце программы вылетаешь чёрт-и куда, но только не куда надо. |
||||
|
|||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |