проблемы с CreateDialogParam в win2k

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

  1. xchg

    xchg New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2006
    Сообщения:
    34
    Адрес:
    Russia
    Добрый день). Создаю диалог:
    Код (Text):
    1. .elseif eax==IDM_ALARM1
    2. invoke CreateDialogParam,hInstance,IDD_DIALOG,hWnd,addr WndAlarm1Proc,lParam
    3. mov hDlg1,eax
    шаблон создаю в RadAsm.
    Код (Text):
    1. #define IDD_DIALOG 999
    2. #define IDC_CHK1 1001
    3. ...
    4. IDD_DIALOG DIALOGEX 6,6,276,203
    5. CAPTION "Áóäèëüíèê"
    6. FONT 9,"MS Sans Serif",400,0,204
    7. STYLE 0x10C80000
    8. EXSTYLE 0x00000080
    9. BEGIN
    10. ...
    11. end
    В ХР все нормально работает, а в 2к возвращает ошибку:
    ERROR_CANNOT_FIND_WND_CLASS.
    Пробовал вместо CreateDialogParam использовать DialogBoxParam. Результат тот же. В чем дело не могу понять.
    ведь для этих функций не нужно регистрировать класс окна.
    PS.если нужен исходник могу приаттачить.
     
  2. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    А какие элементы там между BEGIN...END в шаблоне?
    Может что-то нестандартное для Win2K есть?
     
  3. xchg

    xchg New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2006
    Сообщения:
    34
    Адрес:
    Russia
    Код (Text):
    1. #define IDD_DIALOG 999
    2. #define IDC_CHK1 1001
    3. #define IDC_CHK2 1002
    4. #define IDC_CHK3 1003
    5. #define IDC_CHK4 1004
    6. #define IDC_CHK5 1005
    7. #define IDC_CHK6 1006
    8. #define IDC_CHK7 1007
    9. #define IDC_BTN1 1009
    10. #define IDC_STC2 1010
    11. #define IDC_EDT2 1011
    12. #define IDC_DTP7 1012
    13. #define IDC_BTN2 1013
    14. #define IDC_BTN3 1014
    15. #define IDC_BTN4 1015
    16. #define IDC_STC3 1016
    17. #define IDC_EDT1 1008
    18. #define IDC_CHK8 1017
    19. #define IDC_STC4 1018
    20. #define IDC_STC5 1019
    21. #define IDC_BTN5 1020
    22. #define IDC_GRP1 1021
    23. #define IDC_GRP2 1022
    24. #define IDC_GRP3 1023
    25. IDD_DIALOG DIALOGEX 6,6,276,203
    26. CAPTION "Áóäèëüíèê"
    27. FONT 9,"MS Sans Serif",400,0,204
    28. STYLE 0x10C80000
    29. EXSTYLE 0x00000080
    30. BEGIN
    31.   CONTROL "Ïîíåäåëüíèê",IDC_CHK1,"Button",0x50010003,192,14,68,13,0x00000000
    32.   CONTROL "Âòîðíèê",IDC_CHK2,"Button",0x50010003,192,29,68,13,0x00000000
    33.   CONTROL "×åòâåðã",IDC_CHK3,"Button",0x50010003,192,59,68,13,0x00000000
    34.   CONTROL "Ñðåäà",IDC_CHK4,"Button",0x50010003,192,44,68,13,0x00000000
    35.   CONTROL "Ñóááîòà",IDC_CHK5,"Button",0x50010003,192,88,68,13,0x00000000
    36.   CONTROL "Ïÿòíèöà",IDC_CHK6,"Button",0x50010003,192,73,68,13,0x00000000
    37.   CONTROL "Âîñêðåñåíüå",IDC_CHK7,"Button",0x50010003,192,103,68,13,0x00000000
    38.   CONTROL "Îáçîð",IDC_BTN1,"Button",0x50018000,200,151,62,15,0x00000000
    39.   CONTROL "Ñîîáùåíèå, êîòîðîå áóäåò ïîêàçûâàòüñÿ ïðè ñðàáàòûâàíèè áóäèëüíèêà:",IDC_STC2,"Static",0x50000000,8,46,164,19,0x00000000
    40.   CONTROL "",IDC_EDT2,"Edit",0x50010000,8,68,164,50,0x00000000
    41.   CONTROL "",IDC_DTP7,"SysDateTimePick32",0x50010009,102,27,66,13,0x00000000
    42.   CONTROL "ÎÊ",IDC_BTN2,"Button",0x50018000,42,175,56,19,0x00000000
    43.   CONTROL "Îòìåíà",IDC_BTN3,"Button",0x50018000,108,175,56,19,0x00000000
    44.   CONTROL "Ïðèìåíèòü",IDC_BTN4,"Button",0x50018000,174,175,56,19,0x00000000
    45.   CONTROL "Óêàæèòå wav ôàéë, êîòîðûé áóäåò ïðîèãðûâàòüñÿ ïðè ñðàáàòûâàíèè áóäèëüíèêà:",IDC_STC3,"Static",0x50000000,8,129,162,19,0x00000000
    46.   CONTROL "",IDC_EDT1,"Edit",0x50010080,8,151,186,15,0x00000000
    47.   CONTROL "Âêë. áóäèëüíèê",IDC_CHK8,"Button",0x50010003,8,27,80,13,0x00000000
    48.   CONTROL "Òåêóùåå âðåìÿ:",IDC_STC4,"Static",0x50000000,8,7,74,13,0x00000000
    49.   CONTROL "IDC_STC",IDC_STC5,"Static",0x50000000,104,7,56,11,0x00000000
    50.   CONTROL "Âûáðàòü âñå",IDC_BTN5,"Button",0x50018000,194,120,62,15,0x00000000
    51.   CONTROL "Ïî äíÿì",IDC_GRP1,"Button",0x50000007,182,5,86,135,0x00000000
    52.   CONTROL "",IDC_GRP2,"Button",0x50000007,4,0,166,20,0x00000000
    53.   CONTROL "",IDC_GRP3,"Button",0x50000007,4,20,166,24,0x00000000
    54. END
    Родительское окно имеет стили invoke WS_EX_OVERLAPPEDWINDOW or WS_EX_TOOLWINDOW, WS_POPUP or WS_THICKFRAME
     
  4. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    xchg
    Вы InitCommonControls вызывали?
     
  5. xchg

    xchg New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2006
    Сообщения:
    34
    Адрес:
    Russia
    InitCommonControls вызывал.
     
  6. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    xchg
    Если не ошибаюсь, InitCommonControls всего лишь заставляет загрузчик подгрузить comctl32.dll. Поэтому сам вызов не важен: важно только наличие этой ф-ии в импорте. Поэтому попробуйте вызывать InitCommonControlsEx() с указанием INITCOMMONCONTROLSEX.dwICC = ICC_DATE_CLASSES.
     
  7. xchg

    xchg New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2006
    Сообщения:
    34
    Адрес:
    Russia
    Огромное спасибо l_inc
    работает!!!