1
0

popupMessage.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef NULLSOFT_AUTH_LOGINPOPUP_MESSAGE_HEADER
  2. #define NULLSOFT_AUTH_LOGINPOPUP_MESSAGE_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include "./loginPopup.h"
  7. class LoginPopupMessage : public LoginPopup
  8. {
  9. public:
  10. typedef enum
  11. {
  12. typeMask = 0x0000FFFF,
  13. typeContinue = 0x00000000,
  14. typeYesNo = 0x00000001,
  15. iconMask = 0xFFFF0000,
  16. iconInfo = 0x00000000,
  17. iconWarning = 0x00010000,
  18. iconError = 0x00020000,
  19. } Type;
  20. typedef void (CALLBACK *ResultCallback)(HWND /*hPopup*/, INT_PTR /*resultCode*/, LPARAM param);
  21. protected:
  22. LoginPopupMessage(HWND hwnd);
  23. ~LoginPopupMessage();
  24. public:
  25. static HWND CreatePopup(HWND hParent, LPCWSTR pszTitle, LPCWSTR pszMessage, UINT uType, ResultCallback callback, LPARAM param);
  26. protected:
  27. void UpdateLayout(BOOL fRedraw);
  28. void EndDialog(INT_PTR code);
  29. BOOL OnInitDialog(HWND hFocus, LPARAM param);
  30. BOOL OnUpdateWindowPos(const RECT* clientRect, RECT *rectOut);
  31. protected:
  32. ResultCallback callback;
  33. LPARAM param;
  34. INT szButtons[8];
  35. UINT buttonsCount;
  36. private:
  37. friend static HRESULT CALLBACK LoginPopupMessage_CreateInstance(HWND hwnd, LPARAM param, LoginPopup **instance);
  38. };
  39. #endif //NULLSOFT_AUTH_LOGINPOPUP_MESSAGE_HEADER