Страница 1 из 1
Создание главного меню с "нуля"
Добавлено: 07 янв 2008, 05:23
ТВиктор
Недавно начал изучать программирование под Windows и столкнулся во с такой проблемкой, а как написать главное меню (menubar) на чистом WINAPI без использования resource.
Если есть у кого нибудь исходник или статейка поднлитесь очень буду благодарен =)
Re: Создание главного меню с "нуля"
Добавлено: 07 янв 2008, 15:51
Romeo
Использование ресурсов при создании меню (тем более с таким количеством айтемов, как указано на рисунке) - это не только общепринятая, но ещё и наиболее идеологически выверенная схема. Советую использовать именно её, иначе все строки придётся хранить прямо в коде в качестве строковых констант, что крайне неудобно. К тому же возникнут дополнительные трудности при содании акселераторов. Если всё равно есть необходимость создать меню не использую ресурсы, то копай в строну функций
CreateMenu,
InsertMenuItem и других. Ссылка на дукументацию есть: лучшая документация - это MSDN. Начинать следует вот с этой старницы и далее двигаться по ссылкам:
http://msdn2.microsoft.com/en-us/librar ... 85%29.aspx
Re: Создание главного меню с "нуля"
Добавлено: 08 янв 2008, 15:20
ТВиктор
У меня ещё один вопросик не относящийся к этой теме
В чем отличие между:
int APIENTRY WinMain
и
int WINAPI WinMain
Что вообще они обозначают и для чего они ?
Re: Создание главного меню с "нуля"
Добавлено: 08 янв 2008, 16:27
Romeo
А леший его знает чем они отличаются

Может раньше и отличались, но сейчас это одно и тоже. Я прошёлся по всем хедерам студии - везде
APIENTRY лишь синоним
WINAPI.
Для чего нужен
WINAPI? Это вего лишь define, который включает в себе все спецификации (calling convention, far/near keyword), которые присущи для API функций данной версии Windows. Не стоит, думаю, говорить о том, что для разных версий Windows эти параметры могут отличаться, потому для увеличения переносимости кода следует писать именно
WINAPI, а не
far pascal, который подразумевается под этим define'ом, если у тебя Windows старше 95.