Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Ошибка при написании PIXELFORMATDESCRIPTORa


Автор: Plotter 26.10.2002, 05:34
:( Для своей программы, использующей OpenGL необходимо написать PIXELFORMATDESCRIPTOR - установка формата пикселей... Полистал умную книжку, нашел там код, переписал его, как смог, а компилятор ошибки лепит... Например такую.... В данном коде:
Код

BOOL Create
(
CWnd* pWnd,
  int iPixelType = PFD_TYPE_RGBA,
  DWORD = PFD_DOUBLEBUFFER |
  PFD_SUPPORT_OPENGL |
  PFD_DRAW_TO_WINDOW
);
BOOL COpenGL::Create(CWnd* pWnd, int iPixelType, DWORD dwFlags)
{
ASSERT(pWnd);
  ASSERT((iPixelType == PFD_TYPE_RGBA) ||
  (iPixelType == PFD_TYPE_COLORINDEX));
  PIXELFORMATDESCRIPTOR pfd;
  memset (&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));

  pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
  pfd.nVersion = 1;
  pfd.dwFlags = dwFlags;
  pfd.iPixelType = iPixelType;

  pfd.cColorBits = 64;
  pfd.cAlfaBits = 64;
  pfd.cAccumBits = 64;
  pfd.cDepthBits = 64;
  pfd.cStencilBits = 64;
  pfd.cStencilBits = 64;
  pfd.iLayerType = PFD_MAIN_PLANE;

m_PDC = new CClientDC(pWnd);
int nPixelFormat = ChoosePixelFormat(m_pdc->m_hDC, &pfd);
if (nPixelFormat == 0){
MessageBox("Error while choosing pfd");
  return FALSE;
  }
BOOL bResult = SetPixelFormat(m_pdc->m_hDC, nPixelFormat, &pfd);
if(!bResult){
MessageBox("Error while seting pfd");
  return FALSE;
  }
return TRUE;
}

Вот именно в этом Си лепит ошибку, говорит: 'CWnd' cannot start a parameter declaration, указывая на третью строку (это где "СWnd* pWnd" итд)... Так как я неопытный програмист, то разобраться я в ней не могу, а следовательно и исправить... Я понимаю, что он говорит мол CWnd не может начать объявление параметра, но что сделать чтобы этой ошибки не было - не знаю... ПОМОГИТЕ ПОЖАЛУЙСТА....Заранее спасибо.

P.s. Ваа, ты ведь тут профи, наверняка знаешь что сделать ... подскажи...

Автор: Baa 29.10.2002, 11:01
А проект у тебя MFC? Уж больно мне не нраится декларация функции, ведь там у тебя выдается ошибка?

Автор: Plotter 29.10.2002, 11:09
Объясни ламеру... 1. Что такое MFC?
                 2. Что ты тут в 3 часа ночи делаешь?
                 3. Почему у тебя 2 звездочки, вроде их было больше...

Автор: Baa 29.10.2002, 11:13
Цитата(Plotter @ 29.10.2002, 03:09)
Объясни ламеру... 1. Что такое MFC?
                 2. Что ты тут в 3 часа ночи делаешь?
                 3. Почему у тебя 2 звездочки, вроде их было больше...

эээ... во ты задал вопросики :)
1. MFC - Microsoft Foundation Classes ( к ним относится класс CWnd и др.)
2. Вообще, вопросы личного характера на почту... тем не менее, я отвечу :) я тут в три часа ночи сижу и отвечаю на вопросы :)
3. Понятия не имею... Не в звездах счастье.

Автор: Plotter 29.10.2002, 11:22
Ну, ладно... допустим я понял, ято такое MFC. Ну, а проект мой под OpenGL, но требуется ему PIXELFORMATDESCRIPTOR и все... Я покопался и нашел пару исходников, где все это сделано по-другому, но с этой ошибкой я не справился, да и вообще на CWnd у меня он уже не первый раз этой ошибкой ругается...вот.

Автор: Fantasist 29.10.2002, 11:26
А что у тебя за компилятор?
Смотри хелп компилятора на ошибку - станет понятно что он имеет ввиду.

Автор: Baa 29.10.2002, 11:43
Вообще, мог бы выдрать нужный код из моей проги...

Автор: Plotter 29.10.2002, 11:47
Да, возможно.... а то я тут рублей 200 просидел, качая исходники то с одного, то с другого сайта, зато затарился поуши... Ладно, еще раз всем спасибо... Будут вопросы - напишу.... Эх, совсем забыл - уже ведь написал...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)