проблема с иконизированной кнопкой

Тема в разделе "WASM.WIN32", создана пользователем Castor, 17 сен 2004.

  1. Castor

    Castor New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    10
    Адрес:
    Russia
    Проблема состоит в следующем: при нажатии на иконизированную кнопку - иконка исчезает. Что это может быть?



    Иконку вставляю след. образом:

    invoke CreateWindowEx,NULL,offset ButtonClass,NULL, BS_ICON or WS_CHILD or WS_VISIBLE,

    75,150,24,23,hWnd,IDB_BUTTON,hInstance,NULL

    mov hButton,eax



    invoke LoadImage,hInstance,ICON_B1,IMAGE_ICON,16,16,LR_DEFAULTCOLOR

    invoke SendMessage,hButton,BM_SETIMAGE,IMAGE_ICON,eax



    И еще мож кто обьяснит почему при создании диалогового окна через DialogBoxParam, с кнопкой(BS_ICON), при попытке вставить в WM_INITDIALOG иконку в след. образом:



    invoke GetDlgItem,IDB_BUTTON,hDlg

    mov hButton,eax

    invoke LoadImage,hInstance,ICON_B1,IMAGE_ICON,16,16,LR_DEFAULTCOLOR

    invoke SendMessage,hButton,BM_SETIMAGE,IMAGE_ICON,eax



    Иконка не вставляется. Тот же код на C работает без проблем.
     
  2. Castor

    Castor New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    10
    Адрес:
    Russia
    Да, и ещё подскажите. Как создать кнопку содержащую и иконку и текст?
     
  3. gerard

    gerard New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    40
    Адрес:
    France
    Привет...всех



    Да дуиаю, что Я понял Вашу проблему...



    Вы забыл класть LR_LOADFROMFILE на параметре fuLoad т.е последный параметр.



    Думаю это этот...если нет не вижу другую вещь...



    Ваша иконка -- на ressource file ? Если да не нужно класть этот параметр т.е LR_LOADFROMFILE...



    Можеть быть Вы использовалы несколько разов эту икону итак попробуйте класть LR_SHARED с OR на последним параметре.



    Желаю хорощих успехов.



    Ваш Друг.



    С уважением,



    Gerard ( Жерар ).

    -----------------
     
  4. gerard

    gerard New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    40
    Адрес:
    France
  5. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Castor




    Неправильно передаёшь параметры в GetDlgItem .

    Посмотри в папку \Example2\Bmbutton\ (кажеться с масмом идёт) там то , что тебе нужно .
     
  6. Castor

    Castor New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    10
    Адрес:
    Russia
    bogrus, спасибо за совет, но там я уже был. И кнопки создаюся через CreateWindowEx, а уменя другой случай (второй вопрос).

    Да, и ты прав насчет:

    Неправильно передаёшь параметры в GetDlgItem

    Описался пока здесь набивал, в исходнике же все правильно:

    invoke GetDlgItem,hDlg,IDB_BUTTON
     
  7. gerard

    gerard New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    40
    Адрес:
    France
    Пожулуйста прегратйте написать &lt ; места &lt ;..

    Ваш Друг.



    С уважением,



    Gerard ( Жерар ).

    -----------------
     
  8. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    Привет! я использовал твой код один в один (только координаты поменял) - все работает. чтобы кнопке в диалоге можно было влепить иконку - у нее должен быть стиль BS_ICON, который может быть и на ходу влепить можно через BM_SETSTYLE мессагу. а как сделать чтоб и иконка и текст - честно говоря не знаю (сам такой ;) (чуть поправлено)



    я еще подумал - наверное, нужно или битмап в памяти рисовать, потом присваивать, или самому отрисовывать кнопку каждый раз (OWNDRAW вроде - ща не помню точно ;)
     
  9. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine