6 #ifndef _INC_cResDialog_H
7 #define _INC_cResDialog_H
12 #include "../GrayLibBase.h"
13 #include "../Geometry/cRectI.h"
21 #define USE_DIALOG_TEMPLATE_SAVE
23 #elif defined(__linux__)
34 #define RT_DLGINIT cWinResMod::MakeIntResource(240)
35 #define RT_TOOLBAR cWinResMod::MakeIntResource(241)
83 HRESULT ReadDataBlock(
const BYTE* pData);
111 size_t get_Size()
const;
112 void Read(
const BYTE* &seeker,
CODEPAGE_t uCodePage);
113 void Write(BYTE* &seeker,
CODEPAGE_t uCodePage);
122 static const int k_DLU_X = 4;
123 static const int k_DLU_Y = 8;
150 ASSERT(m_size.cx < SHRT_MAX);
151 return (
short)m_size.cx;
157 ASSERT(m_size.cy < SHRT_MAX);
158 return (
short)m_size.cy;
162 return cRectI(m_point.
x, m_point.
y, m_point.
x + get_WidthDLU(), m_point.
y + get_HeightDLU());
166 static void GRAYCALL PixelsToDlgUnits(
short& x,
short& y, HWND hDlg);
167 static void GRAYCALL DlgUnitsToPixels(
short& x,
short& y, HWND hDlg);
223 void SetFont(
const GChar_t* pszFaceName, WORD wFontSize);
228 bool RemoveItemID(
DLGID_t wId);
230 void MoveAll(
short x,
short y);
231 void Resize(
short x,
short y);
236 #ifdef USE_DIALOG_TEMPLATE_SAVE
238 size_t GetSaveSize()
const;
240 HWND CreateDummyDialog();
241 void PixelsToDlgUnits(
short& x,
short& y);
242 void DlgUnitsToPixels(
short& x,
short& y);
244 void RTrimToString(
DLGID_t id,
const GChar_t* pszText,
int margins);
245 void LTrimToString(
DLGID_t id,
const GChar_t* pszText,
int margins);
246 void CTrimToString(
DLGID_t id,
const GChar_t* pszText,
int margins);
262 HRESULT ReadDlgInitData(
const BYTE* pResource);
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define CATTR_PACKED
Definition: GrayCore.h:87
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
UINT WINMSG_t
Supplement _WIN32 "windows.h".
Definition: WinTypes.h:111
#define WM_NULL
Windows HWND messages not always defined.
Definition: WinTypes.h:115
#define ASSERT(exp)
Definition: cDebugAssert.h:87
#define HMODULE_NULL
Definition: cOSModule.h:31
Definition: cResDialog.h:254
HRESULT ReadDlgInit(const GChar_t *pszName, HMODULE hModule=HMODULE_NULL)
ITERATE_t InitDialogData(HWND hWnd) const
cArrayRef< cResDlgInitItem > m_aDlgInitItems
Definition: cResDialog.h:260
Definition: cResDialog.h:189
CODEPAGE_t m_uCodePage
For (en/de)coding Unicode.
Definition: cResDialog.h:208
BYTE m_bFontCharset
Extended only.
Definition: cResDialog.h:204
UNITTEST2_PREDEF(cResDialog)
cArrayRef< cResDlgTemplateItem > m_aItems
Definition: cResDialog.h:210
short m_sFontSize
Definition: cResDialog.h:201
short m_sFontWeight
Extended only.
Definition: cResDialog.h:202
cResDlgStringOrId m_FontFace
Definition: cResDialog.h:205
BYTE m_bFontItalic
Extended only.
Definition: cResDialog.h:203
cResDlgStringOrId m_Menu
Definition: cResDialog.h:198
bool m_bExtended
DLGTEMPLATEEX.
Definition: cResDialog.h:196
Definition: cResDialog.h:117
cResDlgStringOrId m_Class
"BUTTON","LISTBOX" etc. DIALOG or DIALOGEX ?
Definition: cResDialog.h:133
UINT32 m_dwExStyle
Definition: cResDialog.h:130
cPoint2i get_XYPosDLU(void) noexcept
Definition: cResDialog.h:140
UINT32 m_dwHelpId
Extended only RESOURCEID_t.
Definition: cResDialog.h:126
cPoint2i m_point
dialog units = 4x8 units of the current selected font. k_DLU_X
Definition: cResDialog.h:128
cWinSize m_size
in dialog units. k_DLU_X
Definition: cResDialog.h:129
short get_WidthDLU() const
Definition: cResDialog.h:145
short get_HeightDLU() const
Definition: cResDialog.h:153
UINT32 m_dwStyle
Definition: cResDialog.h:131
DLGID_t m_wId
old format this is a WORD, EX format this is UINT32.
Definition: cResDialog.h:125
cResDlgStringOrId m_Title
Definition: cResDialog.h:134
cRectI get_Rect() const
Definition: cResDialog.h:160
Definition: cResDialog.h:71
DLGID_t m_nIDC
what dialog item does this data apply to ?
Definition: cResDialog.h:75
cResDlgInitItem() noexcept
Definition: cResDialog.h:80
cString m_strString
Definition: cResDialog.h:77
WINMSG_t m_nMsg
WORD WINMSG_t LB_ADDSTRING etc
Definition: cResDialog.h:76
Definition: cResDialog.h:101
cString m_sText
Definition: cResDialog.h:105
WORD m_wID
alternate id in the same union space. RESOURCEID_t
Definition: cResDialog.h:106
Definition: cResDialog.h:172
cHeapBlock m_CreationData
extra stuff. // Extended only?
Definition: cResDialog.h:177
TYPE x
Definition: cVecT.h:490
TYPE y
Definition: cVecT.h:490
Definition: WinTypes.h:168
Definition: WinTypes.h:128
Definition: cArrayRef.h:21
Definition: cRefPtr.h:225
struct CATTR_PACKED GrayLib::tagDLGITEMTEMPLATEEX DLGITEMTEMPLATEEX
UNITTEST2_PREDEF(cQuadtree)
cRefPtr< cResDlgInitItem > cResDlgInitItemPtr
Definition: cResDialog.h:86
struct CATTR_PACKED GrayLib::tagDLGTEMPLATEEX DLGTEMPLATEEX
UINT DLGID_t
old window format this was a WORD, EX format this is UINT32.
Definition: cResDialog.h:68
cRefPtr< cResDlgTemplateItem > cResDlgTemplateItemPtr
Definition: cResDialog.h:186
RESDLG_CLASSID_TYPE
Definition: cResDialog.h:89
@ RESDLG_CLASSID_ListBox
Definition: cResDialog.h:95
@ RESDLG_CLASSID_Edit
Definition: cResDialog.h:93
@ RESDLG_CLASSID_Static
Definition: cResDialog.h:94
@ RESDLG_CLASSID_ScrollBar
Definition: cResDialog.h:96
@ RESDLG_CLASSID_Button
Definition: cResDialog.h:92
@ RESDLG_CLASSID_ComboBox
Definition: cResDialog.h:97
int ITERATE_t
like size_t but signed
Definition: Index.h:28
CODEPAGE_t
Definition: StrChar.h:33
@ CP_ACP
default to ANSI code page. All the _WIN32 A suffix functions.
Definition: StrChar.h:34
char GChar_t
My version of TCHAR, _TCHAR.
Definition: StrConst.h:26
Definition: cResDialog.h:55
short cx
Definition: cResDialog.h:61
UINT32 style
Definition: cResDialog.h:58
UINT32 exStyle
Definition: cResDialog.h:57
UINT32 helpID
Definition: cResDialog.h:56
short y
Definition: cResDialog.h:60
UINT32 id
Definition: cResDialog.h:63
short x
Definition: cResDialog.h:59
short cy
Definition: cResDialog.h:62
Definition: cResDialog.h:41
WORD dlgVer
Definition: cResDialog.h:42
WORD cDlgItems
Definition: cResDialog.h:47
UINT32 style
Definition: cResDialog.h:46
short y
Definition: cResDialog.h:49
short x
Definition: cResDialog.h:48
short cx
Definition: cResDialog.h:50
UINT32 exStyle
Definition: cResDialog.h:45
short cy
Definition: cResDialog.h:51
WORD signature
Definition: cResDialog.h:43
UINT32 helpID
Definition: cResDialog.h:44