Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Media Schältflächen wie? (https://www.delphipraxis.net/15685-media-schaeltflaechen-wie.html)

hboy 1. Jun 2006 23:37

Re: Media Schältflächen wie?
 
so ich denke man kann mit der Implementierung von ...

Delphi-Quellcode:
unit Unit2;

interface
  uses Windows, ActiveX;

  type LONG = Longint;

  type
    PPOINTL = ^_POINTL;
    _POINTL = record
      x: LONG;
      y: LONG;
  end;
    POINTL = _POINTL;

  type DESKBANDINFO = record
    dwMask         : DWORD;
    ptMinSize      : POINTL;
    ptMaxSize      : POINTL;
    ptIntegral     : POINTL;
    ptActual       : POINTL;
    wszTitle{[256]} : Array[0..255] of WCHAR;
    dwModeFlags    : DWORD;
    crBkgnd        : COLORREF;
  end;

  type LPCRECT = PRECT;
  type LPRECT = PRECT;

  type LPCBORDERWIDTHS = LPCRECT;
  type BORDERWIDTHS = TRECT;

  type REFIID = DWORD; // Identifier of the desired Component Object Model (COM) interface - exact definition missing !!!
  type PVOID = ^Pointer;
  type LPVOID = PVOID;
  type LPMSG = PMSG;
  type PIUnknown = ^IUnknown;
const
  // add flags
  DWFAF_NORMAL = $0000; //The docking window is a regular, visible docking window. - defined in msdn
  DWFAF_HIDDEN = $0001; //The docking window is added but is not shown. To show it at a later time, call its IDockingWindow::ShowDW method. - defined in shlobj.h
  DWFAF_GROUP1 = $0002; //Insert the docking window at the end of group 1. - assumed value only! no definition found
  DWFAF_GROUP2 = $0004; //Insert the docking window at the end of group 2. - assumed value only! no definition found

  // remove flags
  DWFRF_NORMAL          = $0000; // The default delete processing is performed. - defined in shlobj.h
  DWFRF_DELETECONFIGDATA = $0001; // In addition to deleting the toolbar, any configuration data is removed as well - defined in shlobj.h

  type IInputObject = interface(IUnknown)
    function HasFocusIO: HRESULT;
    function TranslateAcceleratorIO(lpMsg: LPMSG): HRESULT;
    function UIActivateIO( fActivate : BOOL; pMessage : PMSG): HRESULT;
  end;

  type IPersist = interface(IUnknown)
    function GetClassID(pClassID: TCLSID) : HRESULT;
  end;

  // optional storing for persistent data. must return success even if no data is stored
  type IPersistStream = interface (IPersist)
    function IsDirty: HRESULT;
    function Load(pStm : IStream): HRESULT;
    function Save(pStm : IStream; fClearDirty : BOOL): HRESULT;
    function GetSizeMax(pcbSize : PULargeInteger): HRESULT;
  end;

  type IObjectWithSite = interface(IUnknown)
    function SetSite({*}pUnkSite:PIUnknown): HRESULT;
    function GetSite(riid: REFIID; ppvSite: PVOID{void**}): HRESULT;
  end;

  type IDockingWindowFrame = interface(IOleWindow)
    function AddToolbar({*}punkSrc: PIUnknown; pwszItem : LPCWSTR; dwAddFlags: DWORD): HRESULT;
    function FindToolbar(pwszItem :LPCWSTR; riid : REFIID; ppvObj: LPVOID):HRESULT;
    function RemoveToolbar({*}punkSrc:PIUnknown; dwRemoveFlags:DWORD):HRESULT;
  end;

  type IDockingWindowSite = interface(IOleWindow)
    function GetBorderDW({*}punkSrc:PIUnknown; prcBorder: PRECT): HRESULT ;
    function RequestBorderSpaceDW({*}punkSrc:PIUnknown; pbw : LPCBORDERWIDTHS): HRESULT;
    function SetBorderSpaceDW({*}punkSrc:PIUnknown; pbw : LPCBORDERWIDTHS): HRESULT;
  end;

  type IDockingWindow = interface(IOleWindow)
    function CloseDW(dwReserved: DWORD): HRESULT;
    function ResizeBorderDW(prcBorder: LPCRECT;{*}punkToolbarSite:PIUnknown; fReserved: Boolean):HRESULT;
    function ShowDW(bShow: BOOL):HRESULT;
  end;

  type IDeskBand = interface(IDockingWindow)
   function GetBandInfo(dwBandID: DWORD; dwViewMode: DWORD; pdbi : DESKBANDINFO): HRESULT;
  end;

  type TMyBand = class(TInterfacedObject{IClassFactory,IDeskBand,IObjectWithSite,IPersistStream})

  end;
implementation

end.
beginnen ;) korrigiert mich sollte ich mich irren

arbu man 2. Jun 2006 09:21

Re: Media Schältflächen wie?
 
:cat: hat dazu ein Tutorial geschrieben den Link findest du unter Hier im Forum suchenDesktopCMS

sailxia 2. Jun 2006 10:16

Re: Media Schältflächen wie?
 
search "deskband" in Google or Borland.com

Daniel G 2. Jun 2006 11:02

Re: Media Schältflächen wie?
 
@arbu man:

Zitat:

Leider konnte die Suchanfrage nicht beantwortet werden,
da die gesuchten Begriffe nicht in der Datenbank vorhanden sind.
:stupid:

hboy 2. Jun 2006 12:49

Re: Media Schältflächen wie?
 
also einige Interfaces sind noch in ActiveX drin und ich denke ein guter Anfang ist, eine ActiveX Library zu nehmen, dann hat man auch schon DLLRegisterServer usw.

hboy 2. Jun 2006 13:08

Re: Media Schältflächen wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
leut... des macht mir angschd...

mtin 19. Jun 2006 21:37

Re: Media Schältflächen wie?
 
irgendwas neues?
ich seh bei dem ganzen kram nich mehr durch :(
@hboy das sieht so leer aus auf deinem screen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz