суббота, 30 июля 2016 г.

Кривой скроллинг в TAdvStringGrid 2.8

Компонент TAdvStringGrid версии 2.8 (про другие не знаю) не совсем корректно обрабатывает прокрутку таблицы. Так, если начать скроллинг в другом компоненте и там достигнуть конца прокрутки, то скроллинг "возвращается" в AdvStringGrid, даже если мышка не над этим компонентом. Поэтому лезем в исходник и добавляем такой код:
{$IFDEF DELPHI5_LVL}
function TAdvStringGrid.DoMouseWheelDown(Shift: TShiftState;
  MousePos: TPoint): Boolean;
var
  lc: Integer;
  p: TPoint;
begin
  GetCursorPos(p);
  if (not PtInRect(ClientRect, ScreenToClient(p))) then begin
    Result := false; exit; end; //Sleep(1);
  if (goRowSelect in Options) and Navigation.KeepHorizScroll then
  begin
    StartUpdate;
    lc := LeftCol;
    Result := inherited DoMouseWheelDown(Shift,MousePos);
    LeftCol := lc;
    ResetUpdate;
  end
  else
    Result := inherited DoMouseWheelDown(Shift,MousePos);
end;

function TAdvStringGrid.DoMouseWheelUp(Shift: TShiftState;
  MousePos: TPoint): Boolean;
var
  lc: Integer;
  p: TPoint;
begin
  GetCursorPos(p);
  if (not PtInRect(ClientRect, ScreenToClient(p))) then begin
    Result := false; exit; end; //Sleep(1);
  if (goRowSelect in Options) and Navigation.KeepHorizScroll then
  begin
    StartUpdate;
    lc := LeftCol;
    Result := inherited DoMouseWheelUp(Shift,MousePos);
    LeftCol := lc;
    ResetUpdate;
  end
  else
  begin
    if (Row < RowCount) and (Col < ColCount) then
      Result := inherited DoMouseWheelUp(Shift,MousePos)
    else
      Result := True;
  end;
end;
{$ENDIF}


понедельник, 1 июля 2013 г.

IJL & C++ Builder

Теперь руководство, как запустить Intel JPEG Library (IJL):
ставим в настройках компилятора галочку "treat enum types as int" и наслаждаемся :)

Несколько советов:
1. параметр JPGHeight обязательно оставляем положительным,
а вот если нужно повернуть картинку меняем параметр DIBHeight.
Тогда никаких проблем не возникнет ни у кого :)
2. используем для компрессии параметры
JPGColor = IJL_YCBCR
JPGSubsampling = IJL_NONE
jquality = 95

После нескольких тестов убедился, что таким образом получаем почти максимальное качество, но еще при нормальных размерах. При использовании
JPGColor = IJL_RGB
качество остается прежним, а вот размер резко возрастает, практически аналогичная ситуация и при
jquality = 100


взято отсюда

среда, 10 апреля 2013 г.

Как заставить работать IJL (Intel JPEG Library) на C++ Builder 5.0

Все просто! для этого достаточно в настройках проекта в разделе Compiler -> Compiling поставить флажок "Treat enum types as int" и вуаля!!!

вторник, 19 февраля 2013 г.

Multiple rendering target in OpenGL, articles

http://veelck.wordpress.com/2008/11/28/multithread-texture-loading-in-opengl/
http://www.rchoetzlein.com/theory/2010/multi-monitor-rendering-in-opengl/
http://www.codenet.ru/progr/opengl/faq/gl_024.php

[b]background rendering[/b]
http://www.songho.ca/opengl/gl_mvc.html

пятница, 11 января 2013 г.

Инструменты и фиксы для Delphi/Builder

Эксперты для Delphi/Builder

в частности, там есть эксперты от Andy (ускорение билда и пр.). Блог Andy

дальше:
http://delphi2010.ru/?p=472