Форум программистов, компьютерный форум CyberForum.ru

Инициализацию DirectDraw - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод повторяющихся слов текста из файла http://www.cyberforum.ru/cpp/thread60515.html
Написать программу на Си, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Вывести на экран: а) посчитать и вывести на экран количество вхождений каждого слова в текст, б) вывести 5 наиболее часто встречающихся слов. Размер массива должен определяться автоматически на основе данных, находящихся в файле Набросал вывод каждого слова и избавление от знаков...
C++ Доступ к protected членам базового класса Здравствуйте, форумчане! Ниже приведенный код при компиляции вызывает следующую ошибку: error C2248: 'Element::AddTo' : cannot access protected member declared in class 'Element' element.cpp 21. Всю жизнь считал, что protected члены базового класса доступны для производных классов. Разъясните, это я дурак, или лыжи не едут? #include <iostream> class Element { http://www.cyberforum.ru/cpp/thread60380.html
Подскажите решение... C++
Доброе время суток! Имеются числа А1,А2,...,АN и B1,B2,...,BN. Составить из них N пар (Аi, Bj) таким образом, чтобы сумма произведений пар была максимальна (минимальна). Каждое Ai и Bj в парах встречаются ровно по одному разу. Возможно пригодится: Чтобы сумма произведений пар была максимальна (минимальна) необходимо упорядочить наборы A и B одинаковым (различным) образом и пары будут составлять...
Как можно пройти через бесконечный цикл ??? C++
У меня случилось что-то вроде парадокса. Прогал я в Eclipse (у него компилятор MinGW, отладчик GDB), напрогал выложенную ниже программу. Компилирую ее, кладу рядом с бинарником файл test.txt с каким-нибудь текстом. Запускаю. В консоли выводится содержимое текстового файла, который лежит рядом. Далее начинаю отлаживать программу. При отладке выясняется, что самый первый цикл в программе -...
C++ Приоритеты операций http://www.cyberforum.ru/cpp/thread60147.html
Доброго времени суток! Я недавно начал изучать С++. Читаю книгу "Липпман. С++ для начинающих". И в ней на странице 178 есть таблица с приоритетами операций. Эта таблица по идее должна быть разделена на секции, отделяющие операции с одинаковым приоритетом. Но этих секций невидно!!!:wall: Смотрел в Интернете таблицы из других источников, но они все намного меньше, чем таблица в этой книге. И...
C++ Запуск exeшника из exeшника Может подтупляю, но что-то застопорился в следующем вопросе: как запустить exe фаил (скомпилённое консольное приложение) с рядом парметров во время выполнения цикла мой программы. поясняю. ситуация такая: есть мой консольное приложение, там крутиться цикл. выполнив ряд действий, требуется запустить exeшник передав ему некоторые парметры, он отработает, результат его работы употребить на благое... подробнее

Показать сообщение отдельно
Stas96
34 / 34 / 3
Регистрация: 31.08.2009
Сообщений: 116

Инициализацию DirectDraw - C++

02.11.2009, 14:42. Просмотров 1227. Ответов 2
Метки (Все метки)

Ув.Программисты помогите пожайлусто. Изучаю книгу "Фленов - DirectX и C++ Искусство программирования"
Перешел к главе Инициализацию DirectDraw вот код:
ddfunc.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#define _DDFUNC_H_
#include "d3dx9math.h"
#include "ddraw.h"
//Функция инициализации Direc3D
// Функция инициализации Direct3D
HRESULT DXDDInit(IDirectDraw7 **ppiDD, 
                IDirectDrawSurface7 **primsurf,
                IDirectDrawSurface7 **backsurf,
                HWND hWnd, 
                DWORD iWidth,
                DWORD iHeight,
                WORD iColors,
                BOOL *bFullScreen
                );
BOOL ClearSurface(LPDIRECTDRAWSURFACE7 surf, int iColor);
IDirectDrawSurface7 *LoadBMPToSurface(LPCTSTR filename, IDirectDraw7 *ppiDD);
IDirectDrawSurface7 *LoadBMPToSurface(IDirectDrawSurface7 **ddsurf, LPCTSTR filename,
        IDirectDraw7 *ppiDD);
IDirectDrawSurface7 *LoadBMPToSurfaceFast(LPCTSTR filename, IDirectDraw7 *ppiDD);
IDirectDrawSurface7 *LoadBMPToSurfaceFast(IDirectDrawSurface7 **ddsurf, LPCTSTR filename, 
        IDirectDraw7 *ppiDD);
void DrawLine(IDirectDrawSurface7* surf, WORD X1, WORD Y1, 
              WORD X2, WORD Y2, BYTE r, BYTE g, BYTE b);
void Circle(IDirectDrawSurface7* surf, WORD X, WORD Y, 
              WORD R, WORD lines, BYTE r, BYTE g, BYTE b);
#endif
ddfunc.срр

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
// InitDraw.cpp: определяет точку входа для приложения.
//
#include "stdafx.h"
#include "InitDraw.h"
#define MAX_LOADSTRING 100
// Глобальные переменные:
HINSTANCE hInst;                                // текущий экземпляр
TCHAR szTitle[MAX_LOADSTRING];                    // Текст строки заголовка
TCHAR szWindowClass[MAX_LOADSTRING];            // имя класса главного окна
// Отправить объявления функций, включенных в этот модуль кода:
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
    // TODO: разместите код здесь.
    MSG msg;
    HACCEL hAccelTable;
    // Инициализация глобальных строк
    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_INITDRAW, szWindowClass, MAX_LOADSTRING);
    MyRegisterClass(hInstance);
    // Выполнить инициализацию приложения:
    if (!InitInstance (hInstance, nCmdShow))
    {
        return FALSE;
    }
    hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_INITDRAW));
    // Цикл основного сообщения:
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
    return (int) msg.wParam;
}
//
//  ФУНКЦИЯ: MyRegisterClass()
//
//  НАЗНАЧЕНИЕ: регистрирует класс окна.
//
//  КОММЕНТАРИИ:
//
//    Эта функция и ее использование необходимы только в случае, если нужно, чтобы данный код
//    был совместим с системами Win32, не имеющими функции RegisterClassEx'
//    которая была добавлена в Windows 95. Вызов этой функции важен для того,
//    чтобы приложение получило "качественные" мелкие значки и установило связь
//    с ними.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEX wcex;
    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style            = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra        = 0;
    wcex.cbWndExtra        = 0;
    wcex.hInstance        = hInstance;
    wcex.hIcon            = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_INITDRAW));
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground    = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName    = MAKEINTRESOURCE(IDC_INITDRAW);
    wcex.lpszClassName    = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
    return RegisterClassEx(&wcex);
}
//
//   ФУНКЦИЯ: InitInstance(HINSTANCE, int)
//
//   НАЗНАЧЕНИЕ: сохраняет обработку экземпляра и создает главное окно.
//
//   КОММЕНТАРИИ:
//
//        В данной функции дескриптор экземпляра сохраняется в глобальной переменной, а также
//        создается и выводится на экран главное окно программы.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;
   hInst = hInstance; // Сохранить дескриптор экземпляра в глобальной переменной
   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
   if (!hWnd)
   {
      return FALSE;
   }
   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);
   return TRUE;
}
//
//  ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  НАЗНАЧЕНИЕ:  обрабатывает сообщения в главном окне.
//
//  WM_COMMAND    - обработка меню приложения
//  WM_PAINT    -Закрасить главное окно
//  WM_DESTROY     - ввести сообщение о выходе и вернуться.
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Разобрать выбор в меню:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: добавьте любой код отрисовки...
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
но проблемма пишет ошибку:"не удается открыть файл ''d3dx9math.inl''
Помогите пожайлусто
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru