Helpers.h
资源名称:np2src.zip [点击查看]
上传用户:tj_dwf
上传日期:2020-11-17
资源大小:215k
文件大小:7k
源码类别:
RichEdit
开发平台:
Visual C++
- /******************************************************************************
- *
- *
- * Notepad2
- *
- * Helpers.h
- * Definitions for general helper functions and macros
- *
- * See Readme.txt for more information about this source code.
- * Please send me your comments to this work.
- *
- * See License.txt for details about distribution and modification.
- *
- * (c) Florian Balmer 1996-2010
- * florian.balmer@gmail.com
- * http://www.flos-freeware.ch
- *
- *
- ******************************************************************************/
- extern HINSTANCE g_hInstance;
- extern UINT16 g_uWinVer;
- #define COUNTOF(ar) (sizeof(ar)/sizeof(ar[0]))
- extern WCHAR szIniFile[MAX_PATH];
- #define IniGetString(lpSection,lpName,lpDefault,lpReturnedStr,nSize)
- GetPrivateProfileString(lpSection,lpName,lpDefault,lpReturnedStr,nSize,szIniFile)
- #define IniGetInt(lpSection,lpName,nDefault)
- GetPrivateProfileInt(lpSection,lpName,nDefault,szIniFile)
- #define IniSetString(lpSection,lpName,lpString)
- WritePrivateProfileString(lpSection,lpName,lpString,szIniFile)
- #define IniDeleteSection(lpSection)
- WritePrivateProfileSection(lpSection,NULL,szIniFile)
- __inline BOOL IniSetInt(LPCWSTR lpSection,LPCWSTR lpName,int i) {
- WCHAR tch[32]; wsprintf(tch,L"%i",i); return IniSetString(lpSection,lpName,tch);
- }
- #define LoadIniSection(lpSection,lpBuf,cchBuf)
- GetPrivateProfileSection(lpSection,lpBuf,cchBuf,szIniFile);
- #define SaveIniSection(lpSection,lpBuf)
- WritePrivateProfileSection(lpSection,lpBuf,szIniFile)
- int IniSectionGetString(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,int);
- int IniSectionGetInt(LPCWSTR,LPCWSTR,int);
- BOOL IniSectionSetString(LPWSTR,LPCWSTR,LPCWSTR);
- __inline BOOL IniSectionSetInt(LPWSTR lpCachedIniSection,LPCWSTR lpName,int i) {
- WCHAR tch[32]; wsprintf(tch,L"%i",i); return IniSectionSetString(lpCachedIniSection,lpName,tch);
- }
- void BeginWaitCursor();
- void EndWaitCursor();
- #define Is2k() (g_uWinVer >= 0x0500)
- #define IsXP() (g_uWinVer >= 0x0501)
- #define IsVista() (g_uWinVer >= 0x0600)
- #define IsW7() (g_uWinVer >= 0x0601)
- BOOL PrivateIsAppThemed();
- HRESULT PrivateSetCurrentProcessExplicitAppUserModelID(PCWSTR);
- BOOL IsElevated();
- //BOOL SetExplorerTheme(HWND);
- BOOL VerifyContrast();
- BOOL SetWindowTitle(HWND,UINT,BOOL,UINT,LPCWSTR,int,BOOL,UINT,BOOL,LPCWSTR);
- void SetWindowTransparentMode(HWND,BOOL);
- void CenterDlgInParent(HWND);
- void GetDlgPos(HWND,LPINT,LPINT);
- void SetDlgPos(HWND,int,int);
- void ResizeDlg_Init(HWND,int,int,int);
- void ResizeDlg_Destroy(HWND,int*,int*);
- void ResizeDlg_Size(HWND,LPARAM,int*,int*);
- void ResizeDlg_GetMinMaxInfo(HWND,LPARAM);
- HDWP DeferCtlPos(HDWP,HWND,int,int,int,UINT);
- void MakeBitmapButton(HWND,int,HINSTANCE,UINT);
- void MakeColorPickButton(HWND,int,HINSTANCE,COLORREF);
- void DeleteBitmapButton(HWND,int);
- #define StatusSetSimple(hwnd,b) SendMessage(hwnd,SB_SIMPLE,(WPARAM)b,0)
- BOOL StatusSetText(HWND,UINT,LPCWSTR);
- BOOL StatusSetTextID(HWND,UINT,UINT);
- int StatusCalcPaneWidth(HWND,LPCWSTR);
- int Toolbar_GetButtons(HWND,int,LPWSTR,int);
- int Toolbar_SetButtons(HWND,int,LPCWSTR,void*,int);
- LRESULT SendWMSize(HWND);
- #define EnableCmd(hmenu,id,b) EnableMenuItem(hmenu,id,(b)
- ?MF_BYCOMMAND|MF_ENABLED:MF_BYCOMMAND|MF_GRAYED)
- #define CheckCmd(hmenu,id,b) CheckMenuItem(hmenu,id,(b)
- ?MF_BYCOMMAND|MF_CHECKED:MF_BYCOMMAND|MF_UNCHECKED)
- BOOL IsCmdEnabled(HWND, UINT);
- #define GetString(id,pb,cb) LoadString(g_hInstance,id,pb,cb)
- #define StrEnd(pStart) (pStart + lstrlen(pStart))
- int FormatString(LPWSTR,int,UINT,...);
- void PathRelativeToApp(LPWSTR,LPWSTR,int,BOOL,BOOL,BOOL);
- void PathAbsoluteFromApp(LPWSTR,LPWSTR,int,BOOL);
- BOOL PathIsLnkFile(LPCWSTR);
- BOOL PathGetLnkPath(LPCWSTR,LPWSTR,int);
- BOOL PathIsLnkToDirectory(LPCWSTR,LPWSTR,int);
- BOOL PathCreateDeskLnk(LPCWSTR);
- BOOL PathCreateFavLnk(LPCWSTR,LPCWSTR,LPCWSTR);
- BOOL TrimString(LPWSTR);
- BOOL ExtractFirstArgument(LPCWSTR, LPWSTR, LPWSTR);
- void PrepareFilterStr(LPWSTR);
- void StrTab2Space(LPWSTR);
- void ExpandEnvironmentStringsEx(LPWSTR,DWORD);
- void PathCanonicalizeEx(LPWSTR);
- DWORD GetLongPathNameEx(LPCWSTR,LPWSTR,DWORD);
- DWORD_PTR SHGetFileInfo2(LPCWSTR,DWORD,SHFILEINFO*,UINT,UINT);
- int FormatNumberStr(LPWSTR);
- BOOL SetDlgItemIntEx(HWND,int,UINT);
- #define MBCSToWChar(c,a,w,i) MultiByteToWideChar(c,0,a,-1,w,i)
- #define WCharToMBCS(c,w,a,i) WideCharToMultiByte(c,0,w,-1,a,i,NULL,NULL)
- UINT GetDlgItemTextA2W(UINT,HWND,int,LPSTR,int);
- UINT SetDlgItemTextA2W(UINT,HWND,int,LPSTR);
- LRESULT ComboBox_AddStringA2W(UINT,HWND,LPCSTR);
- UINT CodePageFromCharSet(UINT);
- //==== MRU Functions ==========================================================
- #define MRU_MAXITEMS 24
- #define MRU_NOCASE 1
- #define MRU_UTF8 2
- typedef struct _mrulist {
- WCHAR szRegKey[256];
- int iFlags;
- int iSize;
- LPWSTR pszItems[MRU_MAXITEMS];
- } MRULIST, *PMRULIST, *LPMRULIST;
- LPMRULIST MRU_Create(LPCWSTR,int,int);
- BOOL MRU_Destroy(LPMRULIST);
- BOOL MRU_Add(LPMRULIST,LPCWSTR);
- BOOL MRU_AddFile(LPMRULIST,LPCWSTR,BOOL,BOOL);
- BOOL MRU_Delete(LPMRULIST,int);
- BOOL MRU_DeleteFileFromStore(LPMRULIST,LPCWSTR);
- BOOL MRU_Empty(LPMRULIST);
- int MRU_Enum(LPMRULIST,int,LPWSTR,int);
- BOOL MRU_Load(LPMRULIST);
- BOOL MRU_Save(LPMRULIST);
- BOOL MRU_MergeSave(LPMRULIST,BOOL,BOOL,BOOL);
- //==== Themed Dialogs =========================================================
- #ifndef DLGTEMPLATEEX
- #pragma pack(push, 1)
- typedef struct {
- WORD dlgVer;
- WORD signature;
- DWORD helpID;
- DWORD exStyle;
- DWORD style;
- WORD cDlgItems;
- short x;
- short y;
- short cx;
- short cy;
- } DLGTEMPLATEEX;
- #pragma pack(pop)
- #endif
- BOOL GetThemedDialogFont(LPWSTR,WORD*);
- DLGTEMPLATE* LoadThemedDialogTemplate(LPCTSTR,HINSTANCE);
- #define ThemedDialogBox(hInstance,lpTemplate,hWndParent,lpDialogFunc)
- ThemedDialogBoxParam(hInstance,lpTemplate,hWndParent,lpDialogFunc,0)
- INT_PTR ThemedDialogBoxParam(HINSTANCE,LPCTSTR,HWND,DLGPROC,LPARAM);
- HWND CreateThemedDialogParam(HINSTANCE,LPCTSTR,HWND,DLGPROC,LPARAM);
- //==== UnSlash Functions ======================================================
- void TransformBackslashes(char*,BOOL);
- //==== MinimizeToTray Functions - see comments in Helpers.c ===================
- VOID MinimizeWndToTray(HWND hWnd);
- VOID RestoreWndFromTray(HWND hWnd);
- /// End of Helpers.h \