Notepad2.h
上传用户:tj_dwf
上传日期:2020-11-17
资源大小:215k
文件大小:4k
源码类别:

RichEdit

开发平台:

Visual C++

  1. /******************************************************************************
  2. *
  3. *
  4. * Notepad2
  5. *
  6. * Notepad2.h
  7. *   Global definitions and declarations
  8. *
  9. * See Readme.txt for more information about this source code.
  10. * Please send me your comments to this work.
  11. *
  12. * See License.txt for details about distribution and modification.
  13. *
  14. *                                              (c) Florian Balmer 1996-2010
  15. *                                                  florian.balmer@gmail.com
  16. *                                               http://www.flos-freeware.ch
  17. *
  18. *
  19. ******************************************************************************/
  20. //==== Main Window ============================================================
  21. #define WC_NOTEPAD2 L"Notepad2"
  22. //==== Data Type for WM_COPYDATA ==============================================
  23. #define DATA_NOTEPAD2_PARAMS 0xFB09
  24. typedef struct np2params {
  25.   int   flagFileSpecified;
  26.   int   flagLexerSpecified;
  27.   int   iInitialLexer;
  28.   int   flagQuietCreate;
  29.   int   flagJumpTo;
  30.   int   iInitialLine;
  31.   int   iInitialColumn;
  32.   int   iSrcEncoding;
  33.   int   flagSetEncoding;
  34.   int   flagSetEOLMode;
  35.   int   flagTitleExcerpt;
  36.   WCHAR wchData;
  37. } NP2PARAMS, *LPNP2PARAMS;
  38. //==== Toolbar Style ==========================================================
  39. #define WS_TOOLBAR (WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | 
  40.                     TBSTYLE_TOOLTIPS | TBSTYLE_FLAT | TBSTYLE_ALTDRAG | 
  41.                     TBSTYLE_LIST | CCS_NODIVIDER | CCS_NOPARENTALIGN | 
  42.                     CCS_ADJUSTABLE)
  43. //==== ReBar Style ============================================================
  44. #define WS_REBAR (WS_CHILD | WS_CLIPCHILDREN | WS_BORDER | RBS_VARHEIGHT | 
  45.                   RBS_BANDBORDERS | CCS_NODIVIDER | CCS_NOPARENTALIGN)
  46. //==== Ids ====================================================================
  47. #define IDC_STATUSBAR    0xFB00
  48. #define IDC_TOOLBAR      0xFB01
  49. #define IDC_REBAR        0xFB02
  50. #define IDC_EDIT         0xFB03
  51. #define IDC_EDITFRAME    0xFB04
  52. #define IDC_FILENAME     0xFB05
  53. #define IDC_REUSELOCK    0xFB06
  54. //==== Statusbar ==============================================================
  55. #define STATUS_DOCPOS    0
  56. #define STATUS_DOCSIZE   1
  57. #define STATUS_CODEPAGE  2
  58. #define STATUS_EOLMODE   3
  59. #define STATUS_OVRMODE   4
  60. #define STATUS_LEXER     5
  61. #define STATUS_HELP    255
  62. //==== Change Notifications ===================================================
  63. #define ID_WATCHTIMER 0xA000
  64. #define WM_CHANGENOTIFY WM_USER+1
  65. //#define WM_CHANGENOTIFYCLEAR WM_USER+2
  66. //==== Callback Message from System Tray ======================================
  67. #define WM_TRAYMESSAGE WM_USER
  68. //==== Paste Board Timer ======================================================
  69. #define ID_PASTEBOARDTIMER 0xA001
  70. //==== Reuse Window Lock Timeout ==============================================
  71. #define REUSEWINDOWLOCKTIMEOUT 1000
  72. //==== Function Declarations ==================================================
  73. BOOL InitApplication(HINSTANCE);
  74. HWND InitInstance(HINSTANCE,LPSTR,int);
  75. BOOL ActivatePrevInst();
  76. BOOL RelaunchMultiInst();
  77. BOOL RelaunchElevated();
  78. void ShowNotifyIcon(HWND,BOOL);
  79. void SetNotifyIconTitle(HWND);
  80. void InstallFileWatching(LPCWSTR);
  81. void CALLBACK WatchTimerProc(HWND,UINT,UINT_PTR,DWORD);
  82. void CALLBACK PasteBoardTimer(HWND,UINT,UINT_PTR,DWORD);
  83. void LoadSettings();
  84. void SaveSettings(BOOL);
  85. void ParseCommandLine();
  86. void LoadFlags();
  87. int  CheckIniFile(LPWSTR,LPCWSTR);
  88. int  CheckIniFileRedirect(LPWSTR,LPCWSTR);
  89. int  FindIniFile();
  90. int  TestIniFile();
  91. int  CreateIniFile();
  92. int  CreateIniFileEx(LPCWSTR);
  93. void UpdateStatusbar();
  94. void UpdateToolbar();
  95. void UpdateLineNumberWidth();
  96. BOOL FileIO(BOOL,LPCWSTR,BOOL,int*,int*,BOOL*,BOOL*,BOOL*,BOOL);
  97. BOOL FileLoad(BOOL,BOOL,BOOL,BOOL,LPCWSTR);
  98. BOOL FileSave(BOOL,BOOL,BOOL,BOOL);
  99. BOOL OpenFileDlg(HWND,LPWSTR,int,LPCWSTR);
  100. BOOL SaveFileDlg(HWND,LPWSTR,int,LPCWSTR);
  101. LRESULT CALLBACK MainWndProc(HWND,UINT,WPARAM,LPARAM);
  102. LRESULT MsgCreate(HWND,WPARAM,LPARAM);
  103. void    CreateBars(HWND,HINSTANCE);
  104. void    MsgThemeChanged(HWND,WPARAM,LPARAM);
  105. void    MsgSize(HWND,WPARAM,LPARAM);
  106. void    MsgInitMenu(HWND,WPARAM,LPARAM);
  107. LRESULT MsgCommand(HWND,WPARAM,LPARAM);
  108. LRESULT MsgNotify(HWND,WPARAM,LPARAM);
  109. ///   End of Notepad2.h   \