Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / А как??? / 13 сообщений из 13, страница 1 из 1
15.12.2003, 17:05
    #32352999
А как???
Как стандартными средствами поместить картинку на кнопку?
...
Рейтинг: 0 / 0
15.12.2003, 17:45
    #32353057
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А как???
А что юзаешь ?
BBC++ or VC++
____
...
Рейтинг: 0 / 0
15.12.2003, 18:05
    #32353090
А как???
если бы BCB так я и не спрашивал бы, я на нем 5 лет отпахал, сейчас юзаю VC и появляются вопросы.
Конечно в VC
...
Рейтинг: 0 / 0
15.12.2003, 18:10
    #32353097
DJStealth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А как???
Вот что пишут в МСДН
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
CButton::SetBitmap
HBITMAP SetBitmap( HBITMAP hBitmap );

Return Value

The handle of a bitmap previously associated with the button.

Parameters

hBitmap

The handle of a bitmap.

Remarks

Call this member function to associate a new bitmap with the button. 

The bitmap will be automatically placed on the face of the button, centered by default.  If the bitmap is too large for the button, it will be clipped on either side. You can choose other alignment options, including the following: 

BS_TOP


BS_LEFT


BS_RIGHT


BS_CENTER


BS_BOTTOM


BS_VCENTER 
Unlike CBitmapButton, which uses four bitmaps per button, SetBitmap uses only one bitmap per the button. When the button is pressed, the bitmap appears to shift down and to the right.

Example

CButton myButton;

// Create a bitmap button.
myButton.Create(_T( "My button" ), WS_CHILD|WS_VISIBLE|BS_BITMAP, 
   CRect( 10 , 10 , 60 , 50 ), pParentWnd,  1 );

// Set the bitmap of the button to be the system check mark bitmap.
myButton.SetBitmap( ::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CHECK)) );

CButton Overview |  Class Members |  Hierarchy Chart

--
...
Рейтинг: 0 / 0
15.12.2003, 18:38
    #32353143
Cactus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А как???
1. В классе диалога объяви
CBitmapButton m_btnConnect;
2. В редакторе ресурсов, в ветке Bitmap
сделай картинки с ID ресурса
"CONNECTX" - отключено
"CONNECTU" - отжата
"CONNECTF" - фокус
"CONNECTD" - нажато
Кавычки надо обязательно!
3. На диалог добавь кнопарь с заголовком Connect и ID = IDC_BUTTON_CONNECT
4. В OnInitDialog() добавь
VERIFY(m_btnConnect.AutoLoad(IDC_BUTTON_CONNECT, this));
5. Наслаждайся.
...
Рейтинг: 0 / 0
16.12.2003, 09:50
    #32353446
А как???
Не понял а ковычки где ставить в нименовании ресурса или где ?
...
Рейтинг: 0 / 0
16.12.2003, 12:25
    #32353712
Cactus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А как???
Да,
там, где ID ресурса
...
Рейтинг: 0 / 0
16.12.2003, 14:40
    #32354022
А как???
CactusДа,
там, где ID ресурса
Ты имеешь в виду строчку Condition
...
Рейтинг: 0 / 0
16.12.2003, 15:08
    #32354073
А как???
Сделал все вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 1 . В классе диалога объяви 
CBitmapButton m_btnConnect; 
 2 . В редакторе ресурсов, в ветке Bitmap 
сделай картинки с ID ресурса 
 "CONNECTX"  - отключено 
 "CONNECTU"  - отжата 
 "CONNECTF"  - фокус 
 "CONNECTD"  - нажато 
Кавычки надо обязательно! 
 3 . На диалог добавь кнопарь с заголовком Connect и ID = IDC_BUTTON_CONNECT 
 4 . В OnInitDialog() добавь 
VERIFY(m_btnConnect.AutoLoad(IDC_BUTTON_CONNECT, this)); 

Только вот наслаждаться не получается, на кнопке ни надписи. ни картинки, и даже самой кнопке на форме нет :(
...
Рейтинг: 0 / 0
17.12.2003, 09:57
    #32354764
Cactus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А как???
Давай попробуем еще раз.

1. Создадим MFC Application на основе диалога
2. Добавим на диалог кнопку
ID = IDC_BUTTON_CONNECT
Caption = Connect

3. Перейдем в редактор ресурсов и создадим 4 bitmap картинки
ID = "CONNECTX"
Width = Height = 48

"CONNECTU"
"CONNECTF"
"CONNECTD"

Когда, создаёшь новый bitmap, по умолчанию у него ID=IDB_BITMAP1.
Как видишь кавычек нет.

Я не стал возиться с импортом картинок, а просто сделал красную, желтую, синию, зелёную закраску.

4. В классе диалога, сразу после
protected:
HICON m_hIcon;
добавь
CBitmapButton m_btnConnect;

5. В OnInitDialog() , перед return, добавь
VERIFY(m_btnConnect.AutoLoad(IDC_BUTTON_CONNECT, this));

6. Если теперь запуститься, то кнопка будет видна, но картинок не будет.
7. Переходим в редактор ресурсов и изменяем свойство у кнопки. Для этого переходим на вкладку Styles и ставим галочку у Owner Draw.

Все должно получиться.
Удачи.
...
Рейтинг: 0 / 0
17.12.2003, 10:53
    #32354870
А как???
А я так и делал!
Пока папку Debug со всеми потрохами не удалил, не рисовалась
...
Рейтинг: 0 / 0
17.12.2003, 18:52
    #32355959
vdimas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А как???
да, на стандартную кнопку можно или только текст или только рисунок.

вот кнопка, которую я когда-то взял за основу для разработки своей "продвинутой".

CButtonST
...
Рейтинг: 0 / 0
17.12.2003, 19:00
    #32355977
А как???
Не меня уже все устраивает.\r
Смысл был в чем. том что я в Едиту прикрепляю кнопочку. на кнопку хотел рисунок поставить. как в мсдн написано не получалось, но теперь все нормально.\r
Лучьше подскажите как мне уникальный ключь запихать в дерево?(он текстовый и это не я придумал)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / А как??? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]