Как послать сообщение элементу диалога (DialogBoxParam)?

Тема в разделе "WASM.BEGINNERS", создана пользователем vg, 14 май 2008.

  1. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Пытаюсь делать так
    Процедура диалога:

    Код (Text):
    1. hxxx      DWORD ?
    2.  
    3. DlgProc proc hwin:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
    4. .
    5. .
    6. .
    7. invoke GetDlgItem,hwin,ID_DLG_XXX
    8. mov hxxx,eax
    9. .
    10. .
    11. .
    12. DlgProc endp
    Посылаю сообщение из процедуры главного окна:
    Код (Text):
    1. invoke SendMessage,hxxx,XXX,0,0
    Результат нулевой. Если посылать сообщение из процедуры диалога всё OK.
     
  2. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Лучше использовать
    Код (Text):
    1. LRESULT SendDlgItemMessage(          HWND hDlg,
    2.     int nIDDlgItem,
    3.     UINT Msg,
    4.     WPARAM wParam,
    5.     LPARAM lParam
    6. );
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    SendDlgItemMessage, как уже сказали
    а у тебя скорее всего проблема в том что затирается этот хендл после того как ты туда заисываешь валидное значение
     
  4. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    twgt
    Эфект тот же.
     
  5. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Значит дело не в SendMessage.
    Попробуй как Great предложил во втором варианте.