Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Те кто работал с DirectShow9 и полноэкранным режимом помогите [D7, WinXP]


Anatol_rus ©   (2008-11-03 00:20:00) 

Народ вот какая у меня проблема.Делаю я свой видеоплеер работающий через DirectX.С помощью вот етой функции DirectShow9,видео приложение или фотка переходит в полноэкранный режим:
function put_FullScreenMode(FullScreenMode: LongBool): HResult;

Но ее минус в том что при ее исполнении не отображается курсор мыши и панель управления видео(воспроизведение,пауза,стоп) моего приложения,что делать подскажите плиз
Мне нужно сделать что-нибудь на подобии в Media Player Classic,чтоб при наведении курсора мыши на нижнюю часть экрана появлялась панель действия.

P.S.Хочу сразу сказать,что предлагаемые методы типа растягивания панели на весь экран мне не нужно,это я и сам знаю.


CodeMaster   (2008-11-13 17:14:00) [1]

Или выводи свой курсор функциями DirectX
На примере DirectDraw:
Res:= FDDSBack.BltFast(MouseX,MouseY,FDDSCursor,DDBLTFAST_WAIT or DDBLTFAST_SRCCOLORKEY,nil);
if Failed(hRet) then
if Failed(RestoreSurface) then begin
ErrorOut('Error BltFast FDDSCursor',hRet);
Application.Terminate;
end;


MouseX,MouseY: Координаты курсора, берутся из GetCursorPos
ErrorOut процедура записи ошибки в файл
Res - hResult;
Application.Terminate - ну думаю это процедура не нуждается в комментировании


CodeMaster   (2008-11-13 17:10:00) [2]

private
procedure FormSetCursor(Var Message: TMessage); message WM_SETCURSOR;
....
implementation
procedure TForm1.FormSetCursor(var message: TMessage);
begin
inherited;
SetCursor(<Указывай свой курсор>)
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо