📄 functions.h
字号:
'\0' != u.infoa_.szName[0])
{
*infoa = u.infoa_;
}
else
{
/* ANSI failed, so try Unicode. */
u.infow_.dwSize = sizeof(NEWCPLINFOW);
stlsoft_static_cast(void, (*entry)(hwnd, CPL_NEWINQUIRE, stlsoft_static_cast(LONG, index), stlsoft_reinterpret_cast(LONG, &u.infow_)));
STLSOFT_NS_GLOBAL(WideCharToMultiByte)(0, 0, u.infow_.szName, -1, infoa->szName, STLSOFT_NUM_ELEMENTS(u.infoa_.szName), NULL, NULL);
STLSOFT_NS_GLOBAL(WideCharToMultiByte)(0, 0, u.infow_.szInfo, -1, infoa->szInfo, STLSOFT_NUM_ELEMENTS(u.infoa_.szInfo), NULL, NULL);
STLSOFT_NS_GLOBAL(WideCharToMultiByte)(0, 0, u.infow_.szHelpFile, -1, infoa->szHelpFile, STLSOFT_NUM_ELEMENTS(u.infoa_.szHelpFile), NULL, NULL);
}
}
}
/** \brief [C, C++] Issues a run control (CPL_DBLCLK) to a control panel applet, including caller-supplied data.
*
* \ingroup group__library__windows_control_panel
*
*/
STLSOFT_INLINE BOOL winstl__control_panel_run_data(control_panel_entry_t entry, HWND hwnd, ss_size_t index, LONG data)
{
WINSTL_ASSERT(NULL != entry);
return !stlsoft_static_cast(BOOL, (*entry)(hwnd, CPL_DBLCLK, stlsoft_static_cast(LONG, index), data));
}
/** \brief [C, C++] Issues a run control (CPL_STARTWPARMSA) to a control panel applet, including caller-supplied parameter string.
*
* \ingroup group__library__windows_control_panel
*
*/
STLSOFT_INLINE BOOL winstl__control_panel_run_params_a(control_panel_entry_t entry, HWND hwnd, ss_size_t index, ws_char_a_t const *params)
{
WINSTL_ASSERT(NULL != entry);
return stlsoft_static_cast(BOOL, (*entry)(hwnd, CPL_STARTWPARMSA, stlsoft_static_cast(LONG, index), (LONG)params));
}
/** \brief [C, C++] Issues a run control (CPL_STARTWPARMSW) to a control panel applet, including caller-supplied parameter string.
*
* \ingroup group__library__windows_control_panel
*
*/
STLSOFT_INLINE BOOL winstl__control_panel_run_params_w(control_panel_entry_t entry, HWND hwnd, ss_size_t index, ws_char_w_t const *params)
{
WINSTL_ASSERT(NULL != entry);
return stlsoft_static_cast(BOOL, (*entry)(hwnd, CPL_STARTWPARMSW, stlsoft_static_cast(LONG, index), (LONG)params));
}
/** \brief [C, C++] Issues a stop control (CPL_STOP) to a control panel applet.
*
* \ingroup group__library__windows_control_panel
*
*/
STLSOFT_INLINE void winstl__control_panel_stop(control_panel_entry_t entry, HWND hwnd, ss_size_t index, LONG data)
{
WINSTL_ASSERT(NULL != entry);
stlsoft_static_cast(void, (*entry)(hwnd, CPL_STOP, stlsoft_static_cast(LONG, index), data));
}
/* /////////////////////////////////////////////////////////////////////////
* C++ functions
*/
#ifdef __cplusplus
/* /////////////////////////////////////////////////////////////////////////
*
*/
/** \brief Initialises a control panel applet module.
*
* \ingroup group__library__windows_control_panel
*/
inline BOOL control_panel_init(control_panel_entry_t entry, HWND hwnd)
{
return winstl__control_panel_init(entry, hwnd);
}
/** \brief Uninitialises a control panel applet module.
*
* \ingroup group__library__windows_control_panel
*
*/
inline void control_panel_uninit(control_panel_entry_t entry, HWND hwnd)
{
winstl__control_panel_uninit(entry, hwnd);
}
/** \brief Retrieves the number of control panel applets within a control panel applet module.
*
* \ingroup group__library__windows_control_panel
*
*/
inline ss_size_t control_panel_get_count(control_panel_entry_t entry, HWND hwnd)
{
return winstl__control_panel_get_count(entry, hwnd);
}
/** \brief Issues an inquiry control (CPL_INQUIRE) to a control panel applet.
*
* \ingroup group__library__windows_control_panel
*
*/
inline void control_panel_inquire(control_panel_entry_t entry, HWND hwnd, ss_size_t index, LPCPLINFO info)
{
winstl__control_panel_inquire(entry, hwnd, index, info);
}
/** \brief Issues a "new" inquiry control (CPL_NEWINQUIRE) to a control panel applet.
*
* \ingroup group__library__windows_control_panel
*
*/
inline void control_panel_newinquire(control_panel_entry_t entry, HWND hwnd, ss_size_t index, LPNEWCPLINFO info)
{
winstl__control_panel_newinquire(entry, hwnd, index, info);
}
/** \brief Issues a run control (CPL_DBLCLK) to a control panel applet, including caller-supplied data.
*
* \ingroup group__library__windows_control_panel
*
*/
inline BOOL control_panel_run_data(control_panel_entry_t entry, HWND hwnd, ss_size_t index, LONG data)
{
return winstl__control_panel_run_data(entry, hwnd, index, data);
}
/** \brief Issues a run control (CPL_STARTWPARMSA) to a control panel applet, including caller-supplied parameter string.
*
* \ingroup group__library__windows_control_panel
*
*/
inline BOOL control_panel_run_params_a(control_panel_entry_t entry, HWND hwnd, ss_size_t index, ws_char_a_t const *params)
{
return winstl__control_panel_run_params_a(entry, hwnd, index, params);
}
/** \brief Issues a run control (CPL_STARTWPARMSW) to a control panel applet, including caller-supplied parameter string.
*
* \ingroup group__library__windows_control_panel
*
*/
inline BOOL control_panel_run_params_w(control_panel_entry_t entry, HWND hwnd, ss_size_t index, ws_char_w_t const *params)
{
return winstl__control_panel_run_params_w(entry, hwnd, index, params);
}
/** \brief Issues a run control (CPL_DBLCLK) to a control panel applet, including caller-supplied data.
*
* \ingroup group__library__windows_control_panel
*
*/
inline BOOL control_panel_run(control_panel_entry_t entry, HWND hwnd, ss_size_t index, LONG data)
{
return control_panel_run_data(entry, hwnd, index, data);
}
/** \brief Issues a run control (CPL_STARTWPARMSA) to a control panel applet, including caller-supplied parameter string.
*
* \ingroup group__library__windows_control_panel
*
*/
inline BOOL control_panel_run(control_panel_entry_t entry, HWND hwnd, ss_size_t index, ws_char_a_t const *params)
{
return control_panel_run_params_a(entry, hwnd, index, params);
}
/** \brief Issues a run control (CPL_STARTWPARMSW) to a control panel applet, including caller-supplied parameter string.
*
* \ingroup group__library__windows_control_panel
*
*/
inline BOOL control_panel_run(control_panel_entry_t entry, HWND hwnd, ss_size_t index, ws_char_w_t const *params)
{
return control_panel_run_params_w(entry, hwnd, index, params);
}
/** \brief Issues a stop control (CPL_STOP) to a control panel applet.
*
* \ingroup group__library__windows_control_panel
*
*/
inline void control_panel_stop(control_panel_entry_t entry, HWND hwnd, ss_size_t index, LONG data)
{
winstl__control_panel_stop(entry, hwnd, index, data);
}
/* ////////////////////////////////////////////////////////////////////// */
#endif /* __cplusplus */
/* /////////////////////////////////////////////////////////////////////////
* Unit-testing
*/
#ifdef STLSOFT_UNITTEST
# include "./unittest/functions_unittest_.h"
#endif /* STLSOFT_UNITTEST */
/* ////////////////////////////////////////////////////////////////////// */
#ifndef _WINSTL_NO_NAMESPACE
# if defined(_STLSOFT_NO_NAMESPACE) || \
defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
} /* namespace winstl */
# else
} /* namespace winstl_project */
} /* namespace stlsoft */
# endif /* _STLSOFT_NO_NAMESPACE */
#endif /* !_WINSTL_NO_NAMESPACE */
/* ////////////////////////////////////////////////////////////////////// */
#endif /* WINSTL_INCL_WINSTL_CONTROL_PANEL_H_FUNCTIONS */
/* ////////////////////////////////////////////////////////////////////// */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -