![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#76
|
||||
|
||||
|
Вот только с Харькова приехал, только сейчас посмотрел юнит. Да вот только рисованием с помощью битмапа не работал, подскажите как им вообще пользоваться и отрисовывать на нем объекты?
|
|
#77
|
||||
|
||||
|
Это наверное проще посмтреть какое-нибудь описание по работе с канвасом в сети, чем рассказывать.
|
|
#78
|
||||
|
||||
|
Погуглил, принцип битмапа как канвас, а как именно объекты перерисовывать?
|
|
#79
|
||||
|
||||
|
Неверное представление
Цитата:
|
|
#80
|
||||
|
||||
|
Все, я понял, но каким образом можно рисовать объекты на битмапе? Редактировать классы?
|
|
#81
|
||||
|
||||
|
Канвас ведь умеет работать с графическими примитивами - линия, круг, эллипс, прямоугольник, дуга и другие. Вот ими что-либо рисуют, иначе я не понимаю постановку вопроса.
|
|
#82
|
||||
|
||||
|
Да, но Вы сказали что во избежание мерцания нужно объекты рисовать на битмапе, вот я и спрашиваю: каким образом?
|
|
#83
|
||||
|
||||
|
Вот я и привел пример, затем копируешь битмап на форму.
Код:
function WndProc(Wnd : HWND; Msg : Integer; wParam, lParam : Longint): Integer; stdcall;
var
ps : PAINTSTRUCT;
...
WM_PAINT :
begin
BeginPaint(Wnd, ps);
BitBlt(ps.hdc, 0, 0, Bmp.Width, Bmp.Height, Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, SRCCOPY);
EndPaint(Wnd, ps);
end; |
|
#84
|
||||
|
||||
|
А что подставляется под Bmp? Что там должно быть?
|
|
#85
|
||||
|
||||
|
Странно, не компилируется:
Код:
#define ID_POPUPMENU $99;
#define ID_ADDFILES $100;
#define ID_ADDFOLDER $110;
#define ID_OPENPLAYLST $120;
#define ID_SAVEPLAYLST $130;
#define ID_VIEW $140;
#define ID_FULLPATH $200;
#define ID_ONLYNAME $210;
#define ID_HIDEPATH $220;
#define ID_REDUCENAME $230;
#define ID_ONTOP $150;
#define ID_HOTKEYS $160;
#define ID_CONFIG $170;
ID_POPUPMENU MENUEX
BEGIN
POPUP ""
BEGIN
MENUITEM "Добавить файлы...\tCtrl+O", ID_ADDFILES
MENUITEM "Добавить папку...\tCtrl+F", ID_ADDFOLDER
MENUITEM SEPARATOR
MENUITEM "Открыть плейлист...\tAlt+O", ID_OPENPLAYLST
MENUITEM "Сохранить плейлист\tCtrl+S", ID_SAVEPLAYLST
MENUITEM SEPARATOR
POPUP "&Вид", ID_VIEW
BEGIN
MENUITEM "&Показывать путь и расширение файла", ID_FULLPATH
MENUITEM "&Отображать только имя файла", ID_ONLYNAME
MENUITEM "&Скрывать только путь к файлу", ID_HIDEPATH
MENUITEM SEPARATOR
MENUITEM "&Сокращать имена файлов", ID_REDUCENAME
END
MENUITEM "Поверх всех окон\tAlt+T", ID_ONTOP
MENUITEM "Горячие клавиши...\tF1", ID_HOTKEYS
MENUITEM "Конфигурация...\tF2", ID_CONFIG
END
END |
|
#86
|
||||
|
||||
|
А все, исправил.
|
|
#87
|
||||
|
||||
|
Цитата:
|
|
#88
|
||||
|
||||
|
Почему же, видел. Можешь фоновую картинку загрузить, можешь туда отрисовать спектрограмму.
|
|
#89
|
||||
|
||||
|
Спектр в плеере не буду делать. Вообще цель этой программы - обеспечить максимальную производительность программы даже на самых слабеньких компах за счет ее минимализма.
|
|
#90
|
||||
|
||||
|
Хи-хи-хи, насмешил. Ты в курсе когда появился WinAMP? Он уже во времена XT и 286 со спектрограммой был.
|