Шаг 1: Отображение текста на форме
В приложении, созданном на первом
шаге, будет показано, как отобразить на
форме текст На рис. 6.5. можно увидеть, как
выглядит это приложение при выполнении
![4.gif](4.gif)
Рис. 6.4. Окно Messages (Сообщения) программы Spy++(Шпион++)
![5.gif](5.gif)
Рис. 6.5. Отображение текста на простой форме
(Шаг 1)
Вывод данных в программах Windows
сильно отличается от вывода данных в
аналогичных консольных приложениях, где
для этого используется метод Console: :WriteLine
Вычерчивание результата в окне часто
называют закрашиванием или закраской
Закрашивание выполняется в ответ на
сообщение "раскрасить", WM_PAINT Такой
способ закрашивания по требованию
гарантирует, что если окно будет накрыто
каким-либо другим окном, а затем открыто
снова, то содержимое окна будет отображено
корректно
Еще одно отличие выполнения
вывода в Windows-программах от выполнения
вывода в консольных приложениях состоит в
том, что необходимо определить все детали
Например, нужно указать координаты области
рисования, "кисть", которой будет
выполняться рисование, шрифт текста, и так
далее Вот код приложения, созданного на
шаге 1
//SimpleForm.cpp - Шаг 1
// Эта версия отображает
приветствие
fusing <mscorlib.dll>
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
// использование пространства имен
Система;
using namespace System::Windows:.Forms;
// использование пространства имен
Система.:Windows::Формы;
using namespace System::Drawing;
// использование пространства имен
Система::Рисование;
_gc class Forml : public Form
// класс сборщика мусора Forml:
общедоступная Форма
{
private: // частный
float x, у; // с плавающей точкой Brush *pSto<Brush;
// Кисть public:
Forml() {
Size = // Размер
*_nogc new System::Drawing::Size(300,200);
// Размер
Text = "Simple Form - Step 1";
// Текст = "Простая Форма - Шаг
1";
x = у = 10; pStdBrush = new SolidBrush(Color::Black);
// Красить::
// Черным } protected: // защищенный
virtual void OnPaint(PaintEventArgs * ppea)
{
ppea->get_Graphics()->Graphics::DrawString //
Графика
("Hello, Window Forms", Font,
// "Привет, Формы Window ", Шрифт,
pStdBrush, x, у);
}
public:
static void Main() {
Application.:Ran(new Forml);
// Приложение:: Выполнить (новая
Форма),
}
};
int _stdcall WinMain(
long hlnstance, // дескриптор текущего
экземпляра
long hPrevInstance, // дескриптор
предыдущего экземпляра
long IpCmdLine, // командная строка
int nCmdShow // состояние отображения )
{
Forml::Main();
return 0;
}
Для того чтобы рисовать с помощью
Windows Forms (Формы Windows), нужно переопределить
виртуальный метод OnPaint Класс PaintEventArgs
содержит объект Graphics в качестве свойства,
доступного только для чтения Класс Graphics,
который принадлежит пространству имен System:
-Drawing (Система Рисунок), содержит методы
рисования
Параметры метода Drawstring
- выводимая строка,
- шрифт (Font (Шрифт) — свойство класса Form (Форма),
которое определяет шрифт, по умолчанию
применяемый для вывода текста в форму),
- используемая кисть,
- координаты в пикселях (числа типа float (с
плавающей точкой))
В качестве стандартной кисти
используется черная кисть SolidBrush
|