Горизонтальная полоса при создании меню ...

Тема в разделе "WASM.BEGINNERS", создана пользователем lowlevel, 21 фев 2007.

  1. lowlevel

    lowlevel New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2007
    Сообщения:
    2
    Здравствуйте ,проблемка :при подключении меню к окну постоянно возникает горизонтальная полоса в 1 пиксель между меню и рабочей областью окна ,она отображает фрагменты фона на котором было созданно окно.Использую ТАСМ ,искал ошибку очень долго играясь с стилями класса , окон, обработки WM_PAINT итд ... , счас вот просматривая в разделе исходники диалог из ресурсов http://www.wasm.ru/src/1/resource.zip
    заметил такой же прикол.Возникает вопрос это глюк ТАСМ-а ?
     
  2. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Тоже долго пытался победить, пришёл к такому же выводу и перешёл на масм32 ;)
    ЗЫ: в 9х тасмовские проги выглядят нормально, а на ХР он по определению не рассчитан.
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Как может быть в поведении программы вина компилятора? оО
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Great
    А поробуй собрать вин прогу с меню на масм32, fasm и тасм, указав все флаги окон одинаково и сравни результат под ХР :)
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Y_Mur
    не пробовал честно говоря )
     
  6. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    lowlevel
    запускаю exe из http://www.wasm.ru/src/1/resource.zip под XP SP2 вижу нормальное меню беру сорцы пересобираю под MASM вообще не вижу диалога, как оказалось дело было в CONTROL "TrackBar", 401, "msctls_trackbar32"
    добавляю "includelib comctl32.lib" и "extern _imp__InitCommonControlsEx@4:dword" хотя InitCommonControlsEx нигде потом не использую, получается точно такой же диалог как у Babek'а может быть проблема о которой пишет lowlevel
    http://www.rsdn.ru/article/qna/ui/mnuerr1.xml
    в аттаче resource.zip собранный под MASM
     
  7. lowlevel

    lowlevel New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2007
    Сообщения:
    2
    блин стока времени зря убил ,спасиб ,значит глюк тасм-а ...

    Mikl__: на масме всё отлично работает ,мне прям интересно если сравнить бинарники созданных на масме и тасме ... ,по поводу ссылки там всё ясно ,разные типы и функции меню ,здесь же глюк не в этом ,можно вобще не использовать функций ,а прямиком прописать id меню в registerclassex и полюбому глюченная полоска появится :)
     
  8. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    lowlevel
    Наверное дело и не в TASM в аттаче несколько способов как создать меню в окне. Может быть кому-нибудь сгодится...
     
  9. 10110111

    10110111 New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2006
    Сообщения:
    319
    Адрес:
    Санкт-Петербург
    Прикол, диалог так и должен выглядеть задом наперёд, как в аттаче?
     
  10. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    10110111
    Это баг в структуре ресурса, IMHO.
     
  11. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Нет, это не баг: есть свойство диалога в ресурсах, заставляющее прорисовываться его наоборот. см. редактор ресурсов в VC6 (не знаю как в более новых версиях - может изменили?)
     
  12. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    RamMerLabs
    WS_EX_RTLREADING? Нет, это не то.
     
  13. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    кажется нет.
    Подожди... Сейчас перезагружусь, посмотрю. У меня VS в другой винде заисталлена.
    Ein moment...


    Вот:

    IDD_DIALOG1 DIALOGEX 0, 0, 187, 95
    STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
    EXSTYLE WS_EX_RIGHT | WS_EX_LAYOUT_RTL //то, что нужно
    CAPTION "Dialog"
    FONT 8, "MS Sans Serif"
    BEGIN
    END
     
  14. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    RamMerLabs
    Спасибо! Примечательно, что этот стиль поддерживается и в 98й винде.
     
  15. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    10110111
    Это не баг, это Бабек так по-арабски прикалывается