Неактивные элементы ГУИ

Тема в разделе "WASM.BEGINNERS", создана пользователем Lex2029, 29 янв 2008.

  1. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Добрый день.
    Есть программа, в ней можно выбирать ее действия, путем выбора, не знаю точно как элемент называется, когда не галку в квадрат, а точку в кружок ставишь. Т.е. из всех выборов, только что-то одно выбрать можно.
    Так вот, в этой программе, 1 элемент не активен, т.е. нельзя его выбрать. Что можно сделать, чтобы он был активным, или просто сам автоматически выбрался.
    Я так понимаю, нужно пробежаться по всем элементам окна, найти именно его, и сделать ему статус выбранный, или активный. Но как это на Вин32 называется, не могу что-то найти
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    GetDlgItem - получить хендл контрола
    EnableWindow - сделать его активным
    CheckDlgButton - поставить в контроле галочку
     
  3. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    что-то я не понимаю, как там int идентификаторы получать :dntknw:
    Я делал так, нахожу окно, прокручиваю там все ChildWindow, нахожу нужное мне, далее делаю EnableWindow и оно включается.
    Но как только я навожу на окно мышкой, снова становится не активным, может там защита. Но вопрос не в том. Вопрос в том, как поставить точку в кружок, если у меня есть его hwnd.
     
  4. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Тебе же написали!

    CheckDlgButton( hParentWnd, ID_CheckBox, 1/0 ); - последний параметр в какое значение
     
  5. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    А я же написал, что не понимаю, как получить int идентификатор кнопки.
    У меня есть только ее hwnd :dntknw:
     
  6. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.347
    GetWindowLong(hwndCtrl, GWL_ID)

    или посмотреть в ресурсах (если на диалоге)
     
  7. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Во, спасиб :)
     
  8. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Код (Text):
    1. SendMessage (hWndCheck, BM_SETCHECK, BST_CHECKED, 0);