Создание диалога без *.rc файла

Тема в разделе "WASM.BEGINNERS", создана пользователем bint, 21 окт 2008.

  1. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    Торможу, блин! Капец! Никак не могу понять синтаксис файлов ресурсов (*.rc). Подскажите, пож, где есть описание или как создать диалог, прописывая все в асм-исходнике. Не могу двигаться дальше, т.к. визуал-дезайнером пользоваться нет никаких сил - душа бунтует! :dntknw:
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Ну, *.rc файл нужно компилировать. Компилятором ресурсов.
    http://msdn.microsoft.com/en-us/library/aa380599(VS.85).aspx

    А без ресурсов - CreateDialogIndirect
     
  3. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    Спасибо за ответ, Partner!
    Да, я знаю, что компилировать нужно. Но я пользуюсь WinAsm Studio и в ней все делается автоматом.
    А как создать кнопку на окне? И если можно с примером в исходнике. Только пожалуйста без *.rc фалов.
     
  4. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Исходников нету. Читай доку к CreateDialogIndirect/CreateDialogIndirectParam. Там ничего сложного.
    http://msdn.microsoft.com/en-us/library/ms645436
     
  5. driver

    driver New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    302
    masm32.by.ru
     
  6. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    Огромное спасибо, все нашел!
    Кнопка создается той же функцией CreateWindowEx, просто вместо "SimpleWinClass" указываешь "Button". Попробую щас со всеми остальными классами.
     
  7. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Не поверишь, но COMBOBOX, EDIT LISTBOX, SCROLLBAR, STATIC и вообще все контролы создаеются функцией CreateWindow. Ресурсы используются только для хранения параметров этой функции - размера, положения, цвета и т.д.
    В случае CreateDialogIndirect эти параметры описываются структурами в памяти.
     
  8. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    Спасибо, driver. В свою очередь, отвечу благодарностью http://www.masm32.com/board/index.php

    Да, Partner. Hutch мне сказал то же самое, а сам я просто нашел пример. Чтобы не позориться перед остальными на форуме (буржуинами) я спросил у него в личке. Он ответил. Я даже не ожидал. :)
     
  9. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    http://www.radasm.com/resed/ в помощь тебе
     
  10. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    а в чём, собственно, проблема: желание обойтись без rc или проблемы с его использованием - тогда какие именно?
     
  11. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    Спасибо, calidus. Поставил. Вроде все номана.
    Раньше я пользовался WinAsm Studio, т.к. не знал как создавать всякие контролы на окне. Теперь, зная, я смело заброшу это все и достану из заначки ts.com, прикрученный к масм32, ибо никакие удобства не смогут заменить мне этого синего экранчика с мигающим курсором. :)
     
  12. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    Привет, shoo
    Желание обойтись без файлов ресурсов; хочу, чтобы все было в листинге кода.
     
  13. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    bint
    меню можно и через api, с иконками сложнее...
    А лучше переходи на fasm - там как раз всё в листинге кода ;)
     
  14. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    Тогда посмотри здесь от #121 и ниже -- можно обойтись не только без файлов ресурсов, но и без линкера, хотя написано для nasm, но не сложно переделать под masm или fasm
     
  15. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    ну, если в этом есть смысл: криптование экзешника, сверхмалые (?) его размеры, динамические диалоги - тогда конечно да, хотя WinAsm Studio не обязывает использовать скрипт ресурсов, а её редактор ресурсов можно быстро переключать из графического режима в текстовый клавишей F12 (например, чтобы посмотреть координаты размещенных контролов).
    можно, конечно, и бумагой в клеточку пользоваться - я иногда так делаю (мне на бумаге проще рисовать :)
     
  16. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    Y_Mur, Mikl___,
    спасибо за совет, но цель - работать в ts.com (ДОС-оболочка, прикрученная к масм32).
     
  17. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    С этого и начинаю работать. :) Схема, проработка процедур, кодинг - все, как учили. :)
     
  18. bint

    bint New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2008
    Сообщения:
    12
    На самом деле это - самый эффективный способ. Сначала нужно понять чего я хочу от программы. А уж потом реализация и все остальное. Хотя, бывает и так, что в процессе кодинга находятся какие-то новые ходы и программа меняется до неузнаваемости и, в конце концов, реализует задачи, совершенно противоположные основной цели.
    За то интересно! :)
     
  19. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    bint
    я не предлагал переходить на fasm -- читайте внимательно
     
  20. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    bint
    masm32 + ДОС-оболочка :))) (хотя конечно дело вкуса и привычки)
    Я собственно тоже пишу без всяких графических мастеров в редакторе UltraEdit, но никаких неудобств с написанием ресурсов в отдельном файле не наблюдаю, даже наоборот в с ростом программы разбиваю её на отдельные файлы с перемеными, макросами, подпрограммами, чтобы не было всё в одной куче. Или ts.com даже два файла одновременно открывать не умеет?
    Если проблема в том чтобы одной командой из оболочки сразу откомпилировать и ресурсы и прогу и всё слинковать, то она решается через bat файл. У меня он даже сам определяет есть у проги файл ресурсов или нужно компилировать без него ;)

    add
    а вон в чём дело:
    тогда: http://msdn.microsoft.com/en-us/library/aa381043(VS.85).aspx