C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 170 - Используем список изображений / MFC шаг за шагом / Visual C++

Шаг 170 - Используем список изображений

Список изображений мы подготовили. Это хорошо. Теперь давайте его испытаем. Идея такая. Кнопка может содержать не только надпись, но и изображение из иконы. Вот и давайте поместим на наш диалог кнопку. И при нажатии на неё будут меняться картинки. По очереди естественно. Для начала надо установить у кнопки стиль, что она с иконой будет. Вот так.

170_1.gif (4497 b)

Для кнопки надо создать класс в классе диалога. Лучше с помощью ClassWizard. Вот так.

class CTestImageDlg : public CDialog
{
...........
	enum { IDD = IDD_TESTIMAGE_DIALOG };
	CButton	m_Button;
...........
};

Теперь давайте заведем число, которое будет отвественено за то, какую картинку выводить.

class CTestImageDlg : public CDialog
{
// Construction
public:
	int intImage;
...........
};

И инициализируем его для начала в конструктолре класса диалога.

CTestImageDlg::CTestImageDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTestImageDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTestImageDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	intImage=-1;
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

Ну вот теперь можно создавать и код нажатия на кнопку. Он простой. Смотрите.

void CTestImageDlg::OnButton1() 
{
 if (intImage<3) intImage++;
 else intImage=0;
 m_Button.SetIcon(cl.ExtractIcon(intImage));  	
}

Идея здесь простая. У класса кнопки есть функция SetIcon, которая и устанавливает картинку. А у класса списка изображений есть функция ExtractIcon, которая эту икону извлекает. Вобщем получается, что написано - установить извлеченное. :-)

Запускайте проект. Щелкайте по кнопке у неё будет меняться икона. Чего и хотели.


Загрузить проект | | |
Автор Каев Артем.
[AD]