Конференция "Media" » Те кто работал с DirectShow9 и полноэкранным режимом помогите [D7, WinXP]
 
  • Anatol_rus © (03.11.08 00:20) [0]
    Народ вот какая у меня проблема.Делаю я свой видеоплеер работающий через DirectX.С помощью вот етой функции DirectShow9,видео приложение или фотка переходит в полноэкранный режим:
    function put_FullScreenMode(FullScreenMode: LongBool): HResult;

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

    P.S.Хочу сразу сказать,что предлагаемые методы типа растягивания панели на весь экран мне не нужно,это я и сам знаю.
  • CodeMaster © (13.11.08 17:10) [1]
    private
    procedure FormSetCursor(Var Message: TMessage); message WM_SETCURSOR;
    ....
    implementation
    procedure TForm1.FormSetCursor(var message: TMessage);
    begin
    inherited;
    SetCursor(<Указывай свой курсор>)
    end;

  • CodeMaster © (13.11.08 17:14) [2]
    Или выводи свой курсор функциями 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 - ну думаю это процедура не нуждается в комментировании
 
Конференция "Media" » Те кто работал с DirectShow9 и полноэкранным режимом помогите [D7, WinXP]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]