Компьютерная графика, мультимедиа и игры на Visual C#


Глава Методика проектирования неподвижных и подвижных плоских фигур


Листинг 44.1. Код  для вывода формы и рисования на ней графики.

using (Form1 myForm1 = new Form1())

{

    if (!myForm1.InitializeDirectX())

    {

        MessageBox.Show("Ошибка при инициализации DirectX.");

        return;

    }

    //Показываем форму Form1:

    myForm1.Show();

    //Рисуем графику на форме Form1:

    while (myForm1.Created)

    {

        myForm1.myRendering();

        Application.DoEvents();

    }

}

Для закрытия Form1 после щелчка кнопки Cancel дважды щелкаем эту кнопку. Появляется файл Form1.cs с шаблоном, в который записываем (Close()).

Для вывода справочной Form2 (после щелчка кнопки Help на Form1) дважды щелкаем эту кнопку. Появляется файл Form1.cs с шаблоном, в который записываем:

Form2 myForm2 = new Form2(); myForm2.Show();                       (44.1)

Для ввода в проект новой формы в меню Project выбираем Add Windows Form, в панели Add New Item в окне Templates выделяем Windows Form, в окне Name оставляем имя Form2 и щелкаем кнопку Add (или Open для иной версии VS). Появляется Form2, в которую записываем (если нужно) справочную информацию. Вывод следующей формы (если в этом есть необходимость) после щелчка кнопки Next>> (или предыдущей формы после щелчка кнопки <<Back) осуществляется аналогично при помощи кода (44.1) с номером соответствующей формы.

Теперь в любом месте файла Form1.cs (например, ниже предыдущих методов для обработки щелчков по кнопкам) записываем следующие методы для связывания формы Form1 с Direct3D.

Листинг 44.2. Методы  для визуализации преобразований.

//Объявляем и инициализируем глобальную переменную

//для устройства myDevice класса Device:

Device myDevice = null;

//Устанавливаем параметры Direct3D:

public bool InitializeDirectX()

{

    try

    {

        PresentParameters myPresentParameters =

            new PresentParameters();

        myPresentParameters.Windowed = true;

        myPresentParameters.SwapEffect = SwapEffect.Discard;

        myDevice = new Device(0, DeviceType.Hardware,




Начало  Назад  Вперед



Книжный магазин