Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
2.8 KiB

  1. //
  2. // dlgs.h
  3. //
  4. // Generic ITfTextEventSink object
  5. //
  6. #ifndef DLGS_H
  7. #define DLGS_H
  8. void DoCloseLangbar();
  9. //////////////////////////////////////////////////////////////////////////////
  10. //
  11. // CUTBLangBarDlg
  12. //
  13. //////////////////////////////////////////////////////////////////////////////
  14. class CUTBLangBarDlg
  15. {
  16. public:
  17. CUTBLangBarDlg()
  18. {
  19. _cRef = 1;
  20. }
  21. LONG _AddRef()
  22. {
  23. _cRef++;
  24. return _cRef;
  25. }
  26. LONG _Release()
  27. {
  28. LONG ret = --_cRef;
  29. if (!_cRef)
  30. delete this;
  31. return ret;
  32. }
  33. virtual int DoModal(HWND hWnd) = 0;
  34. static INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
  35. static void SetThis(HWND hWnd, LPARAM lParam)
  36. {
  37. SetWindowLongPtr(hWnd, DWLP_USER, (LONG_PTR)lParam);
  38. }
  39. static CUTBLangBarDlg *GetThis(HWND hWnd)
  40. {
  41. CUTBLangBarDlg *p = (CUTBLangBarDlg *)GetWindowLongPtr(hWnd, DWLP_USER);
  42. Assert(p != NULL);
  43. return p;
  44. }
  45. virtual BOOL OnCommand(HWND hDlg, WPARAM wParam, LPARAM lParam)
  46. {
  47. return TRUE;
  48. }
  49. BOOL StartThread();
  50. PTSTR _pszDlgStr;
  51. virtual BOOL IsDlgShown() = 0;
  52. virtual void SetDlgShown(BOOL fShow) = 0;
  53. protected:
  54. virtual DWORD ThreadProc();
  55. private:
  56. static DWORD s_ThreadProc(void *pv);
  57. TCHAR _szName[256];
  58. LONG _cRef;
  59. };
  60. #define ISDLGSHOWFUNC() \
  61. BOOL IsDlgShown() {return _fIsDlgShown;} \
  62. void SetDlgShown(BOOL fShow) {_fIsDlgShown = fShow;} \
  63. static BOOL _fIsDlgShown;
  64. //////////////////////////////////////////////////////////////////////////////
  65. //
  66. // CUTBCloseLangBarDlg
  67. //
  68. //////////////////////////////////////////////////////////////////////////////
  69. class CUTBCloseLangBarDlg : public CUTBLangBarDlg
  70. {
  71. public:
  72. CUTBCloseLangBarDlg()
  73. {
  74. _pszDlgStr = IsOnNT51() ? MAKEINTRESOURCE(IDD_CLOSELANGBAR51) : MAKEINTRESOURCE(IDD_CLOSELANGBAR);
  75. }
  76. int DoModal(HWND hWnd);
  77. BOOL OnCommand(HWND hDlg, WPARAM wParam, LPARAM lParam);
  78. ISDLGSHOWFUNC();
  79. };
  80. //////////////////////////////////////////////////////////////////////////////
  81. //
  82. // CUTBMinimizeLangBarDlg
  83. //
  84. //////////////////////////////////////////////////////////////////////////////
  85. class CUTBMinimizeLangBarDlg : public CUTBLangBarDlg
  86. {
  87. public:
  88. CUTBMinimizeLangBarDlg()
  89. {
  90. _pszDlgStr = IsOnNT51() ? MAKEINTRESOURCE(IDD_MINIMIZELANGBAR51): MAKEINTRESOURCE(IDD_MINIMIZELANGBAR);
  91. }
  92. int DoModal(HWND hWnd);
  93. BOOL OnCommand(HWND hDlg, WPARAM wParam, LPARAM lParam);
  94. virtual DWORD ThreadProc();
  95. ISDLGSHOWFUNC();
  96. };
  97. #endif // DLGS_H