Конференция "FreePascal" » графика в Виндоус [Win32]
 
  • swchool (10.12.04 10:33) [0]
    Подскажит, как можно рисовать в Виндоус? С ДОС более или менее понятно - рисуем как в БП, в В Виндоус?
  • DVM © (10.12.04 12:02) [1]
    Что именно интересует? Графика в Windows - очень объемная тема!
  • schooll (10.12.04 15:35) [2]
    В частности, когда я вывожу готовый файл БМП на окно в Делфях, я рисую на канве(BMP.Draw(0,0,Form1.canvas).Ну это я так, грубо. А как мы поступаем в случае FPC? Или как использовать спрайты? Где взять адреса BIOS? Или здесь другой принцип?
  • schooll (10.12.04 15:36) [3]
    В частности, когда я вывожу готовый файл БМП на окно в Делфях, я рисую на канве(BMP.Draw(0,0,Form1.canvas).Ну это я так, грубо. А как мы поступаем в случае FPC? Или как использовать спрайты? Где взять адреса BIOS? Или здесь другой принцип?
  • schooll (10.12.04 15:36) [4]
    В частности, когда я вывожу готовый файл БМП на окно в Делфях, я рисую на канве(BMP.Draw(0,0,Form1.canvas).Ну это я так, грубо. А как мы поступаем в случае FPC? Или как использовать спрайты? Где взять адреса BIOS? Или здесь другой принцип?
  • DVM © (10.12.04 16:20) [5]

    > В частности, когда я вывожу готовый файл БМП на окно в Делфях,
    > я рисую на канве(BMP.Draw(0,0,Form1.canvas).Ну это я так,
    > грубо. А как мы поступаем в случае FPC?

    Если программа на WinApi, то рисование происходит на DC окна и обычно в обработчике сообщения WM_PAINT, что в оконной процедуре окна. Собственно FreePascal тут даже ни при чем. Есть множество функций рисования на API (BitBlt, DrawText, LineTo и т.д.). Все они используют для рисования контекст устройства (DC).
    Пример:
    var
     ps: TPaintStruct;
     DC: HDC;

    WM_PAINT:
     begin
       DC:=BeginPaint(hWnd, ps);
       ...рисуем, используя DC ...
       EndPaint(hWnd, ps);
       result:=0;  
     end;

    > Или здесь другой принцип?

    Принцип простой: все что надо отрисовываем функцией BitBlt().
  • schooll (11.12.04 07:55) [6]
    Ясно. Достал книгу Румянцева "Азбука прораммирования Win Api". Буду изучать.
 
Конференция "FreePascal" » графика в Виндоус [Win32]
Есть новые Нет новых   [134430   +1][b:0][p:0]