![]() |
Media Schältflächen wie?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Ich habe den neuen Windows Media Player 9 und finde in klasse.Mir ist aufgefallen das wenn man ihn minimiert, dass auf dr Taskleiste Schaltflächen erscheinen für Volumen usw. Meine Frage...wie kann man selber solche schaltflächen in Delphi machen? Gruss Häcki :hi: |
Re: Media Schältflächen wie?
such mal ob du nen Handle auf die taskleistenschaltfläche kriegst
|
Re: Media Schältflächen wie?
Hi!
[OT] Welche Version des MediaPlayers issen das genau? Ich habe auch 9.00 aber ich habe diese Schaltflächen nicht. Oder muss man die aktivieren? [/OT] Ciao fkerber |
Re: Media Schältflächen wie?
@fkerber: Schau mal
![]() |
Re: Media Schältflächen wie?
HI!
Danke. Ciao fkerber |
Re: Media Schältflächen wie?
Rechtsklick auf die Taskleiste -> Symbolleisten -> WindowsMediaPlayer
Die Firewall "ZoneAlarm" kann diese auch... |
Re: Media Schältflächen wie?
Hi!
Wie kriege ich denn so ein Handle auf die Taskleistenschaltfläche?? Gruss Häcki :hi: |
Re: Media Schältflächen wie?
|
Re: Media Schältflächen wie?
Zitat:
Delphi-Quellcode:
type TBChildAttr = string[255];
const task_Button : TBChildAttr = 'Button'; task_TrayNotifyWnd : TBChildAttr = 'TrayNotifyWnd'; task_TrayClockWClass : TBChildAttr = 'TrayClockWClass'; task_ToolbarWindow32 : TBChildAttr = 'ToolbarWindow32'; task_ReBarWindow32 : TBChildAttr = 'ReBarWindow32'; task_MSTaskSwWClass : TBChildAttr = 'MSTaskSwWClass'; task_SysTabControl32 : TBChildAttr = 'SysTabControl32'; type TEnumRec = record Clienthandle: HWND; DestHandle: HWND; TBChild:TBChildAttr; end; type PEnumRec = ^TEnumRec; procedure AttatchToTaskBar(const ChildAttr:TBChildAttr;WindowHandle: HWND); var taskbarhandle: HWND; EnumRecord: PEnumRec; function TaskBarEnumChildProc(const AhWindow : DWORD;const EnumRec: PEnumRec) : Boolean; stdcall; var buf: PAnsiChar; begin getmem(buf,256); ZeroMemory(buf,length(buf)); GetClassName(ahwindow,buf,256); if buf = EnumRec^.TBChild then EnumRec^.DestHandle := AhWindow; freemem(buf,256); result := true; end; begin getmem(EnumRecord,SizeOf(TEnumRec)); EnumRecord.TBChild := ChildAttr; EnumRecord.Clienthandle := WindowHandle; EnumRecord.DestHandle :=0; taskbarhandle:= FindWindow('Shell_TrayWnd', nil); EnumChildWindows(taskbarhandle,@TaskBarEnumChildProc,Integer(EnumRecord)); if EnumRecord.DestHandle <> 0 then SetParent(EnumRecord.Clienthandle,EnumRecord.DestHandle); freemem(EnumRecord,SizeOf(TEnumRec)); end; |
Re: Media Schältflächen wie?
Delphi-Quellcode:
und schon is die form drin!
AttatchToTaskBar(task_MSTaskSwWClass ,form1.Handle);
form1.top :=0; |
Re: Media Schältflächen wie?
wie gehts voran?
|
Re: Media Schältflächen wie?
Es läuft nich so ganz wie es sollte...Beim minimieren passiert nix :cry:
|
Re: Media Schältflächen wie?
|
Re: Media Schältflächen wie?
@hboy,
das Programm wird rechtsbündig auf der gesamten Desktophöhe dargestellt. |
Re: Media Schältflächen wie?
:hi:
Bei mir wird es gar nicht dargestellt :wink: (ausser unter den Prozessen im TaskManager) mfg Tobias |
Re: Media Schältflächen wie?
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir wird auch nichts dargestellt. Nur manchmal so ein kleines "Etwas" (siehe Anhnag).
|
Re: Media Schältflächen wie?
könntest dich mal in das reinarbeiten
![]() genau das isses. aber irgendwie siehts kompiziert aus... |
Re: Media Schältflächen wie?
Liste der Anhänge anzeigen (Anzahl: 1)
ja ist mit bekannt das der Canvas (win xp) der Taskbar mein Fenster übermalt :cry:
bei 98 und 2000 ist das nicht so: nun ja ich werds vielleicht auf die harte tour versuchen |
Re: Media Schältflächen wie?
gibts irgendwelche neuen erkenntnisse zu dem Thema?
würde mich dafür auch brennend interessieren, allerdings find ich echt nirgends was funktionsfähiges und steig auch nichmehr durch (überall stehts anders -.-) |
Re: Media Schältflächen wie?
Abend,
naja man kann sich neue symbolleisten registrieren. Für den IE wirds überall beschrieben. Ich muss gestehen, dass ich mich nicht weiter damit befasst habe, da es soweit tat, letztt hab ich mir XP draufgeklatscht, vielleicht pack ichs wieder an |
Re: Media Schältflächen wie?
so ich denke man kann mit der Implementierung von ...
Delphi-Quellcode:
beginnen ;) korrigiert mich sollte ich mich irren
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. |
Re: Media Schältflächen wie?
:cat: hat dazu ein Tutorial geschrieben den Link findest du unter
![]() |
Re: Media Schältflächen wie?
search "deskband" in Google or Borland.com
|
Re: Media Schältflächen wie?
@arbu man:
Zitat:
|
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.
|
Re: Media Schältflächen wie?
Liste der Anhänge anzeigen (Anzahl: 1)
leut... des macht mir angschd...
|
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 11:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz