Ваш проект 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"); }А вот результат работы.
У этого метода куча недостатков. Например, при передвижении окна или перерисовке эта надпись будет пропадать. Ну и ладно. Если этот код поместить в 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");