Показать сообщение отдельно
  #6  
Старый 03.03.2012, 01:36
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

1. Почисти Дельфи от вируса (\bin\lib\sysconst.bak) переименуй в sysconst.dcu
2. Если выкладываешь, постарайся обойтись без всякого сброда вроде: sBitBtn, sLabel, sButton;
3. Немного изменённый код, с цветом разбирайся сам, я эту библиотеку не использую. (держу только для того, чтобы можно было отвечать на вопросы):
Код:
  public
    { Public declarations }
    procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
  end;
...
// Рисование картинки
procedure TForm1.WMPaint(var Msg: TWMPaint);
var
  ps    : TPaintStruct;
  Level : DWORD;
  High  : FLOAT;
begin
  BeginPaint(Handle, ps);

  // очистка буфера цвета и буфера глубины
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  glColor3f(0.388235294, 0.388235294, 0.388235294);

  glBegin(GL_LINES);
    glVertex2f(-0.99, 1);
    glVertex2f(-0.99, 0.77);
    glVertex2f(-0.99, 0.77);
    glVertex2f(0.87, 0.77);
    glVertex2f(0.87, 0.76);
    glVertex2f(0.87, 1);
  glEnd;

  Level := BASS_ChannelGetLevel(Channel);
  High  := MulDiv(100, HIWORD(Level), 32768) / 100;
  if High = 2 then
    Exit;
  glLineWidth(8);
  glBegin(GL_LINES);
    // првый спектр
    glColor3f(1, 1, 1);
    glVertex2f(0, -1);
    glColor3f(0, 0, 0);
    glVertex2f(High, -1);
    // левый спектр
    glColor3f(0, 0, 0);
    glVertex2f(-High, -1);
    glColor3f(1, 1, 12);
    glVertex2f(0, -1);
  glEnd;
  glFlush;
  SwapBuffers(DC); // вывод на экран

  EndPaint(Handle, ps);
end;

procedure TForm1.tmr1Timer(Sender: TObject);
begin
  InvalidateRect(Handle, nil, False);
end;
В тонкости не вдавался.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием