Конференция "WinAPI" » кнопка с иконкой [D7, WinXP]
 
  • dev (29.05.08 16:13) [0]
    хочу создать кнопку, которая содержит и картинку (иконку) и текст, но ни как не получается, либо текст, либо картинка появляется. подскажите, как сделать кнопку с картинкой и текстом?

    я создаю след. образом:
    Button := CreateWindow ('BUTTON', 'mybtn', WS_CHILD or WS_VISIBLE, 10, 10, 100, 100, Form1.Handle, 0, hInstance, nil);
    Icon := LoadIcon (hInstance, 'mainicon');
    SendMessage (Button, BM_SETIMAGE, IMAGE_ICON, Icon);


    выводится кнопка с текстом ..
  • tesseract © (29.05.08 16:17) [1]
    Добавь к картинке текст и выводи.
  • dev (29.05.08 16:19) [2]

    > Добавь к картинке текст и выводи.


    Как текст добавить?
  • tesseract © (29.05.08 17:20) [3]

    > Как текст добавить?


    DrawText
  • dev (29.05.08 17:30) [4]
    а разве при создании кнопки я не указываю ее caption = windowname? я думал, что отображение иконки и текста зависит от комбинации флагов, уст. при создании кнопки и отправки сообщения?
  • tesseract © (29.05.08 17:34) [5]

    > а разве при создании кнопки я не указываю ее caption = windowname?


    A button of the BS_BITMAP or BS_ICON style displays a bitmap or icon instead of text. The BM_SETIMAGE message associates a handle to a bitmap or icon with a button. The BM_GETIMAGE message retrieves a handle to the bitmap or icon associated with a button.

    Или одно или второе.
  • dev (29.05.08 17:40) [6]
    да, но если при создании кнопки не указывать стили BS_BITMAP и BS_ICON, а в сообщении отпр. BM_GETIMAGE? (http://msdn.microsoft.com/en-us/library/bb761822(VS.85).aspx снизу в табличке)
  • tesseract © (29.05.08 18:05) [7]
    Не отправлял. Есть предположение, что вернеться картинка с текстом. А вообще лучше поизучай, как всё работает. И не станет подобных вопросов.
  • Renegat (29.05.08 18:11) [8]
    Так или иначе, будет либо одно, либо второе (на Win98. ХР не проверял). Нужно сразу и то и то - юзай при создании флаг BS_OWNERDRAW и рисуй как заблагорассудится ;)
  • dev (30.05.08 00:57) [9]
    есть предположение, что такое исп. флагов и отпр. сообщения на XP никак не влияет, а жаль :(
  • Германн © (30.05.08 01:05) [10]

    > dev   (30.05.08 00:57) [9]

    Ты что телеграмму посылаешь?
  • dev (30.05.08 01:22) [11]
    как на кнопке что-нить написать? если не тяжело, то с примером.
  • Германн © (30.05.08 01:30) [12]

    > dev   (30.05.08 01:22) [11]
    >
    > как на кнопке что-нить написать? если не тяжело, то с примером.
    >
    >


    > юзай при создании флаг BS_OWNERDRAW и рисуй как заблагорассудится
    > ;)
    >
  • tesseract © (30.05.08 10:12) [13]

    > как на кнопке что-нить написать? если не тяжело, то с примером.


    Если тебе пример нужен, то кончай баловаться WinApi. Отладить ты свою программу не сможешь. Используй компоненты.
  • dev (31.05.08 13:46) [14]

    > Если тебе пример нужен, то кончай баловаться WinApi. Отладить
    > ты свою программу не сможешь. Используй компоненты.

    а тут люди добрые, однако ... спасибо за совет.
 
Конференция "WinAPI" » кнопка с иконкой [D7, WinXP]
Есть новые Нет новых   [134433   +22][b:0][p:0.001]