mirror of
https://github.com/reactos/reactos.git
synced 2024-07-17 18:06:11 +00:00
extend doxygen documentation
svn path=/trunk/; revision=6494
This commit is contained in:
parent
ec73f42181
commit
3b223f7e1b
|
@ -103,7 +103,7 @@ GENERATE_HTML = YES
|
|||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_FOOTER = doxy-footer.html
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = YES
|
||||
|
|
|
@ -103,7 +103,7 @@ GENERATE_HTML = YES
|
|||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_FOOTER = doxy-footer.html
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = YES
|
||||
|
|
|
@ -66,12 +66,15 @@ LIBS = gdi32 comctl32 ole32 uuid
|
|||
|
||||
all: buildno.h $(TARGET)
|
||||
|
||||
docu:
|
||||
docu: doxy-footer.html
|
||||
doxygen Doxyfile
|
||||
|
||||
full-docu:
|
||||
doxygen Doxyfile-all
|
||||
|
||||
doxy-footer.html: doxy-footer.htmt
|
||||
updatefooter
|
||||
|
||||
buildno.h: ../../../include/reactos/buildno.h
|
||||
updatebuildno
|
||||
|
||||
|
|
|
@ -46,25 +46,25 @@ struct DesktopWindow : public Window, public IShellBrowserImpl
|
|||
|
||||
static HWND Create();
|
||||
|
||||
STDMETHOD(GetWindow)(HWND* lphwnd)
|
||||
virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND* lphwnd)
|
||||
{
|
||||
*lphwnd = _hwnd;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHOD(QueryActiveShellView)(IShellView** ppshv)
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(IShellView** ppshv)
|
||||
{
|
||||
_pShellView->AddRef();
|
||||
*ppshv = _pShellView;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHOD(GetControlWindow)(UINT id, HWND* lphwnd)
|
||||
virtual HRESULT STDMETHODCALLTYPE GetControlWindow(UINT id, HWND* lphwnd)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
STDMETHOD(SendControlMsg)(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret)
|
||||
virtual HRESULT STDMETHODCALLTYPE SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
typedef void (*COLLECT_CALLBACK)(ShellFolder& folder, ShellEntry* shell_entry, void* param);
|
||||
typedef stack<ShellDirectory*> ShellDirectoryStack;
|
||||
|
||||
/// Thread for collecting start menu entries
|
||||
struct CollectProgramsThread : public Thread
|
||||
{
|
||||
CollectProgramsThread(COLLECT_CALLBACK callback, HWND hwnd, void* para)
|
||||
|
@ -74,6 +75,7 @@ struct FPDEntry
|
|||
typedef list<FPDEntry> FPDCache;
|
||||
|
||||
|
||||
/// Dialog to work with the complete list of start menu entries
|
||||
struct FindProgramDlg : public ResizeController<Dialog>
|
||||
{
|
||||
typedef ResizeController<Dialog> super;
|
||||
|
|
16
reactos/subsys/system/explorer/doxy-footer.html
Normal file
16
reactos/subsys/system/explorer/doxy-footer.html
Normal file
|
@ -0,0 +1,16 @@
|
|||
<hr size="1">
|
||||
<table border="0" width="100%" cellspacing="0">
|
||||
<tr>
|
||||
<td><address style="align: right;"><small>
|
||||
ROS Explore Source Code Documentation
|
||||
<br>generated on 1.11.2003 by <a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border=0>
|
||||
</small></address>
|
||||
</td>
|
||||
<td>
|
||||
<p align="right"><a href="http://www.sky.franken.de/explorer/" target="_parent">ROS Explorer Homepage</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
|
@ -47,6 +47,7 @@ extern struct ExplorerGlobals
|
|||
#define LOG(x) if (g_Globals._log) _ftprintf(g_Globals._log, TEXT("%s\n"), (LPCTSTR)(x));
|
||||
|
||||
|
||||
/// conventient loading of string resources
|
||||
struct ResString : public String
|
||||
{
|
||||
ResString(UINT nid);
|
||||
|
|
|
@ -128,7 +128,7 @@ CFG=make_explorer - Win32 doxy docu
|
|||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Cmd_Line "msdevfilt -java doxygen"
|
||||
# PROP Cmd_Line "msdevfilt -java make docu"
|
||||
# PROP Rebuild_Opt "Doxyfile-all"
|
||||
# PROP Target_File "doxy-doc\html\index.html"
|
||||
# PROP Bsc_Name ""
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
//
|
||||
|
||||
|
||||
/// information structure for creation of FileChildWindow
|
||||
struct FileChildWndInfo
|
||||
{
|
||||
FileChildWndInfo(LPCTSTR path);
|
||||
|
@ -46,6 +47,7 @@ struct ShellChildWndInfo : public FileChildWndInfo
|
|||
};
|
||||
|
||||
|
||||
/// MDI child window displaying file lists
|
||||
struct FileChildWindow : public ChildWindow
|
||||
{
|
||||
typedef ChildWindow super;
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
enum OPEN_WINDOW_MODE {OWM_EXPLORE=1, OWM_DETAILS=2, OWM_PIDL=4};
|
||||
|
||||
|
||||
/// Explorer frame window
|
||||
struct MainFrame : public PreTranslateWindow
|
||||
{
|
||||
typedef PreTranslateWindow super;
|
||||
|
|
|
@ -59,6 +59,7 @@ struct OutputWorker
|
|||
};
|
||||
|
||||
|
||||
/// child window pane for displaying file lists
|
||||
struct Pane : public SubclassedWindow
|
||||
{
|
||||
typedef SubclassedWindow super;
|
||||
|
|
|
@ -51,21 +51,21 @@ struct ShellBrowserChild : public ChildWindow, public IShellBrowserImpl
|
|||
}
|
||||
|
||||
//IOleWindow
|
||||
STDMETHOD(GetWindow)(HWND* lphwnd)
|
||||
virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND* lphwnd)
|
||||
{
|
||||
*lphwnd = _hwnd;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//IShellBrowser
|
||||
STDMETHOD(QueryActiveShellView)(IShellView** ppshv)
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(IShellView** ppshv)
|
||||
{
|
||||
_pShellView->AddRef();
|
||||
*ppshv = _pShellView;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHOD(GetControlWindow)(UINT id, HWND* lphwnd)
|
||||
virtual HRESULT STDMETHODCALLTYPE GetControlWindow(UINT id, HWND* lphwnd)
|
||||
{
|
||||
if (!lphwnd)
|
||||
return E_POINTER;
|
||||
|
@ -85,7 +85,7 @@ struct ShellBrowserChild : public ChildWindow, public IShellBrowserImpl
|
|||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
STDMETHOD(SendControlMsg)(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret)
|
||||
virtual HRESULT STDMETHODCALLTYPE SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret)
|
||||
{
|
||||
if (!pret)
|
||||
return E_POINTER;
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
//
|
||||
|
||||
|
||||
/// shell file/directory entry
|
||||
struct ShellEntry : public Entry
|
||||
{
|
||||
ShellEntry(Entry* parent, LPITEMIDLIST shell_path) : Entry(parent), _pidl(shell_path) {}
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#define CLOCKWINDOW_WIDTH 32
|
||||
|
||||
|
||||
/// NotifyIconIndex is used for maintaining the order of notification icons.
|
||||
struct NotifyIconIndex
|
||||
{
|
||||
NotifyIconIndex(NOTIFYICONDATA* pnid);
|
||||
|
@ -50,6 +51,7 @@ protected:
|
|||
NotifyIconIndex();
|
||||
};
|
||||
|
||||
/// structure for maintaining informations of one notification icons
|
||||
struct NotifyInfo : public NotifyIconIndex
|
||||
{
|
||||
NotifyInfo();
|
||||
|
|
0
reactos/subsys/system/explorer/updatefooter.bat
Executable file
0
reactos/subsys/system/explorer/updatefooter.bat
Executable file
|
@ -22,6 +22,7 @@ struct DataStorage {
|
|||
typedef vector<DataStorage> StorageArray;
|
||||
|
||||
|
||||
/// implementation of IEnumFORMATETC interface
|
||||
class EnumFormatEtcImpl : public IEnumFORMATETC
|
||||
{
|
||||
private:
|
||||
|
@ -35,18 +36,18 @@ class EnumFormatEtcImpl : public IEnumFORMATETC
|
|||
virtual ~EnumFormatEtcImpl() {}
|
||||
|
||||
//IUnknown members
|
||||
STDMETHOD(QueryInterface)(REFIID, void**);
|
||||
STDMETHOD_(ULONG, AddRef)(void);
|
||||
STDMETHOD_(ULONG, Release)(void);
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**);
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void);
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void);
|
||||
|
||||
//IEnumFORMATETC members
|
||||
STDMETHOD(Next)(ULONG, LPFORMATETC, ULONG*);
|
||||
STDMETHOD(Skip)(ULONG);
|
||||
STDMETHOD(Reset)(void);
|
||||
STDMETHOD(Clone)(IEnumFORMATETC**);
|
||||
virtual HRESULT STDMETHODCALLTYPE Next(ULONG, LPFORMATETC, ULONG*);
|
||||
virtual HRESULT STDMETHODCALLTYPE Skip(ULONG);
|
||||
virtual HRESULT STDMETHODCALLTYPE Reset(void);
|
||||
virtual HRESULT STDMETHODCALLTYPE Clone(IEnumFORMATETC**);
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// implementation of IDropSource interface
|
||||
class IDropSourceImpl : public IDropSource
|
||||
{
|
||||
long m_cRefCount;
|
||||
|
@ -71,7 +72,7 @@ public:
|
|||
/* [in] */ DWORD dwEffect);
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// implementation of IDataObject interface
|
||||
class IDataObjectImpl : public IDataObject//,public IAsyncOperation
|
||||
{
|
||||
IDropSourceImpl* m_pDropSource;
|
||||
|
@ -163,7 +164,7 @@ public:
|
|||
//}*/
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// implementation of IDropTarget interface
|
||||
class IDropTargetImpl : public IDropTarget
|
||||
{
|
||||
DWORD m_cRefCount;
|
||||
|
|
|
@ -35,38 +35,38 @@ struct IShellBrowserImpl : public IShellBrowser, public ICommDlgBrowser
|
|||
{
|
||||
}
|
||||
|
||||
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
|
||||
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void** ppvObject);
|
||||
|
||||
STDMETHOD_(ULONG, AddRef)() {return ++_dwRef;}
|
||||
STDMETHOD_(ULONG, Release)() {return --_dwRef;} //not heap based
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef() {return ++_dwRef;}
|
||||
virtual ULONG STDMETHODCALLTYPE Release() {return --_dwRef;} //not heap based
|
||||
|
||||
// *** IOleWindow methods ***
|
||||
STDMETHOD(ContextSensitiveHelp)(BOOL fEnterMode) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode) {return E_NOTIMPL;}
|
||||
|
||||
// *** ICommDlgBrowser methods ***
|
||||
STDMETHOD(OnDefaultCommand)(IShellView* ppshv);
|
||||
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand(IShellView* ppshv);
|
||||
|
||||
STDMETHOD(OnStateChange)(IShellView* ppshv, ULONG uChange)
|
||||
virtual HRESULT STDMETHODCALLTYPE OnStateChange(IShellView* ppshv, ULONG uChange)
|
||||
{ //handle selection, rename, focus if needed
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
STDMETHOD(IncludeObject)(IShellView* ppshv, LPCITEMIDLIST pidl)
|
||||
virtual HRESULT STDMETHODCALLTYPE IncludeObject(IShellView* ppshv, LPCITEMIDLIST pidl)
|
||||
{ //filter files if needed
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
// *** IShellBrowser methods *** (same as IOleInPlaceFrame)
|
||||
STDMETHOD(InsertMenusSB)(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) {return E_NOTIMPL;}
|
||||
STDMETHOD(SetMenuSB)(HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) {return E_NOTIMPL;}
|
||||
STDMETHOD(RemoveMenusSB)(HMENU hmenuShared) {return E_NOTIMPL;}
|
||||
STDMETHOD(SetStatusTextSB)(LPCOLESTR lpszStatusText) {return E_NOTIMPL;}
|
||||
STDMETHOD(EnableModelessSB)(BOOL fEnable) {return E_NOTIMPL;}
|
||||
STDMETHOD(BrowseObject)(LPCITEMIDLIST pidl, UINT wFlags) {return E_NOTIMPL;}
|
||||
STDMETHOD(GetViewStateStream)(DWORD grfMode, LPSTREAM* ppStrm) {return E_NOTIMPL;}
|
||||
STDMETHOD(OnViewWindowActive)(IShellView* ppshv) {return E_NOTIMPL;}
|
||||
STDMETHOD(SetToolbarItems)(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) {return E_NOTIMPL;}
|
||||
STDMETHOD(TranslateAcceleratorSB)(LPMSG lpmsg, WORD wID) {return S_OK;}
|
||||
virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(HMENU hmenuShared) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(LPCOLESTR lpszStatusText) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(BOOL fEnable) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE BrowseObject(LPCITEMIDLIST pidl, UINT wFlags) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(DWORD grfMode, LPSTREAM* ppStrm) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(IShellView* ppshv) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) {return E_NOTIMPL;}
|
||||
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(LPMSG lpmsg, WORD wID) {return S_OK;}
|
||||
|
||||
protected:
|
||||
DWORD _dwRef;
|
||||
|
|
|
@ -54,6 +54,7 @@ using namespace _com_util;
|
|||
|
||||
#else
|
||||
|
||||
/// COM Exception class as replacement for _com_error
|
||||
struct COMException
|
||||
{
|
||||
COMException(HRESULT hr)
|
||||
|
@ -100,7 +101,7 @@ inline void CheckError(HRESULT hr)
|
|||
#endif
|
||||
|
||||
|
||||
// COM Initialisation
|
||||
/// COM Initialisation
|
||||
|
||||
struct ComInit
|
||||
{
|
||||
|
@ -123,7 +124,7 @@ struct ComInit
|
|||
};
|
||||
|
||||
|
||||
// OLE initialisation for drag drop support
|
||||
/// OLE initialisation for drag drop support
|
||||
|
||||
struct OleInit
|
||||
{
|
||||
|
@ -139,12 +140,12 @@ struct OleInit
|
|||
};
|
||||
|
||||
|
||||
// Exception Handler for COM exceptions
|
||||
/// Exception Handler for COM exceptions
|
||||
|
||||
extern void HandleException(COMException& e, HWND hwnd);
|
||||
|
||||
|
||||
// We use a common IMalloc object for all shell memory allocations.
|
||||
/// We use a common IMalloc object for all shell memory allocations.
|
||||
|
||||
struct CommonShellMalloc
|
||||
{
|
||||
|
@ -350,10 +351,11 @@ protected:
|
|||
|
||||
|
||||
|
||||
// caching of desktop ShellFolder object
|
||||
|
||||
struct ShellFolder;
|
||||
|
||||
|
||||
/// caching of desktop ShellFolder object
|
||||
|
||||
struct CommonDesktop
|
||||
{
|
||||
CommonDesktop()
|
||||
|
@ -365,7 +367,7 @@ struct CommonDesktop
|
|||
|
||||
void init();
|
||||
|
||||
operator struct ShellFolder&()
|
||||
operator ShellFolder&()
|
||||
{
|
||||
return *_desktop;
|
||||
}
|
||||
|
@ -377,6 +379,7 @@ protected:
|
|||
|
||||
#ifndef _NO_COMUTIL // _com_ptr available?
|
||||
|
||||
/// IShellFolder smart pointer
|
||||
struct ShellFolder : public IShellFolderPtr // IShellFolderPtr uses intrinsic extensions of the VC++ compiler.
|
||||
{
|
||||
typedef IShellFolderPtr super;
|
||||
|
@ -398,6 +401,7 @@ struct ShellFolder : public IShellFolderPtr // IShellFolderPtr uses intrinsic ex
|
|||
#define IShellLinkPtr IShellLinkAPtr
|
||||
#endif
|
||||
|
||||
/// IShellLink smart pointer
|
||||
struct ShellLinkPtr : public IShellLinkPtr
|
||||
{
|
||||
typedef IShellLinkPtr super;
|
||||
|
@ -413,6 +417,7 @@ struct ShellLinkPtr : public IShellLinkPtr
|
|||
|
||||
#else // _com_ptr not available -> use SIfacePtr
|
||||
|
||||
/// IShellFolder smart pointer
|
||||
struct ShellFolder : public SIfacePtr<IShellFolder>
|
||||
{
|
||||
typedef SIfacePtr<IShellFolder> super;
|
||||
|
@ -426,6 +431,7 @@ struct ShellFolder : public SIfacePtr<IShellFolder>
|
|||
String get_name(LPCITEMIDLIST pidl, SHGDNF flags=SHGDN_NORMAL) const;
|
||||
};
|
||||
|
||||
/// IShellLink smart pointer
|
||||
struct ShellLinkPtr : public SIfacePtr<IShellLink>
|
||||
{
|
||||
typedef SIfacePtr<IShellLink> super;
|
||||
|
@ -732,6 +738,7 @@ public:
|
|||
};
|
||||
|
||||
|
||||
/// Browse dialog operating on shell namespace
|
||||
struct FolderBrowser : public FileSysShellPath
|
||||
{
|
||||
FolderBrowser(HWND owner, UINT flags, LPCTSTR title, LPCITEMIDLIST root=0)
|
||||
|
@ -765,6 +772,7 @@ private:
|
|||
};
|
||||
|
||||
|
||||
/// Retrieval of special shell folder paths
|
||||
struct SpecialFolderPath : public ShellPath
|
||||
{
|
||||
SpecialFolderPath(int folder, HWND hwnd)
|
||||
|
@ -774,6 +782,7 @@ struct SpecialFolderPath : public ShellPath
|
|||
}
|
||||
};
|
||||
|
||||
/// Shell folder path of the desktop
|
||||
struct DesktopFolderPath : public SpecialFolderPath
|
||||
{
|
||||
DesktopFolderPath()
|
||||
|
@ -782,6 +791,7 @@ struct DesktopFolderPath : public SpecialFolderPath
|
|||
}
|
||||
};
|
||||
|
||||
/// Retrieval of special shell folder
|
||||
struct SpecialFolder : public ShellFolder
|
||||
{
|
||||
SpecialFolder(int folder, HWND hwnd)
|
||||
|
@ -790,6 +800,7 @@ struct SpecialFolder : public ShellFolder
|
|||
}
|
||||
};
|
||||
|
||||
/// Shell folder of the desktop
|
||||
struct DesktopFolder : public ShellFolder
|
||||
{
|
||||
};
|
||||
|
|
|
@ -511,10 +511,9 @@ template<typename BASE> struct CtlColorParent : public BASE
|
|||
*/
|
||||
|
||||
|
||||
// owner draw message routing for ColorButton and PictureButton
|
||||
|
||||
#define PM_DISPATCH_DRAWITEM (WM_APP+0x09)
|
||||
|
||||
/// draw message routing for ColorButton and PictureButton
|
||||
template<typename BASE> struct OwnerDrawParent : public BASE
|
||||
{
|
||||
typedef BASE super;
|
||||
|
@ -606,6 +605,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
/// encapsulation of tool tip controls
|
||||
struct ToolTip : public WindowHandle
|
||||
{
|
||||
typedef WindowHandle super;
|
||||
|
@ -664,6 +664,7 @@ inline int ListView_GetFocusedItem(HWND list_ctrl)
|
|||
}
|
||||
|
||||
|
||||
/// sorting of list controls
|
||||
struct ListSort : public WindowHandle
|
||||
{
|
||||
ListSort(HWND hwndListview, PFNLVCOMPARE compare_fct);
|
||||
|
|
Loading…
Reference in a new issue