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 руб./мес


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




 133 - Рисуем по диалоговому окну / MFC шаг за шагом / Visual C++

Шаг 133 - Рисуем по диалоговому окну

	Ваш проект VC++ first steps просто восхетительный!
	Но учитывая что я полный чайник в  VC++ ,без вопросов необошлось.
	Вчем у меня дело ,нерисует  ,хотя ошибок ненаходит?
 	Мне нужно ,шоб он рисовал при нажатии на Button1
 	void CMytestprogDlg::OnButton1() 
	{
		CPaintDC dc(this);
		dc.TextOut( 20, 20,"TextOut Samples");
 	}
        Help me please ...                 
        ostrongi@takas.lt
Значит так, я предложу свой вариант, как это сделать и если у Вас будут предложения или мысли как сделать по другому пишите. Может быть мой вариант совершенно не правильный.

Итак, создаем приложение на базе AppWizard как диалоговое окно. В окно вставляем кнопку. Кнопке нужен код. Вот он.

void CTestPaintDlg::OnButton1() 
{
  CDC* dc;
  dc=GetDC();
  dc->TextOut(20,20,"dwgweeeeeeeeeeeeeeeee");  
}
А вот результат работы.

133.gif (1812 b)

У этого метода куча недостатков. Например, при передвижении окна или перерисовке эта надпись будет пропадать. Ну и ладно. Если этот код поместить в OnPaint, то ничего пропадать не будет.

void CTestPaintDlg::OnPaint() 
{
	...........
	}
	else
	{
		CDialog::OnPaint();
	}
	CDC* dc;
        dc=GetDC();
        dc->TextOut(20,20,"dwgweeeeeeeeeeeeeeeee"); 
}

Основа этих действий функция GetDC():

CDC* GetDC( );

Эта функция получает контекст окна и находится она в CWnd, но этот класс есть в предках диалогового окна и поэтому мы им можем пользоваться. Получаем контекст устройства, который мы можем использовать для функций GDI. Эту функцию можно использовать если определены в структуре класса окна следующие стили.

CS_CLASSDC
CS_OWNDC
CS_PARENTDC 

Есть и похожие фунции, например, GetWindowDC

CDC* dc;
dc=GetWindowDC();
dc->TextOut(20,20,"dwgweeeeeeeeeeeeeeeee"); 

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