/////////////////////////////////////////////////////////////////////////////
//
// Dialog Info
//
IDD_TOACROPDF2 DLGINIT
BEGIN
IDC_PDF1, 0x376, 16, 0
0x0000, 0x0000, 0x0c00, 0x0000, 0x20f8, 0x0000, 0x19f1, 0x0000,
0
END
構造:
WORD nIDC; WORD nMsg; DWORD dwLen; BYTE data[dwLen]; // nMsg: // ATL_WM_OCC_LOADFROMSTREAM = 0x0376, // ATL_WM_OCC_LOADFROMSTORAGE = 0x0377, // ATL_WM_OCC_INITNEW = 0x0378, // ATL_WM_OCC_LOADFROMSTREAM_EX = 0x037A, // ATL_WM_OCC_LOADFROMSTORAGE_EX = 0x037B, // ATL_DISPID_DATASOURCE = 0x80010001, // ATL_DISPID_DATAFIELD = 0x80010002,
出典 (atlwin.h) より:
// Find the initialization data (Stream) for the control specified by the ID
// If found, return the pointer into the data and the length of the data
static DWORD FindCreateData(DWORD dwID, BYTE* pInitData, BYTE** pData)
{
while (pInitData)
{
// Read the DLGINIT header
WORD nIDC = *((UNALIGNED WORD*)pInitData);
pInitData += sizeof(WORD);
BYTE* pTemp = pInitData;
WORD nMsg = *((UNALIGNED WORD*)pInitData);
pInitData += sizeof(WORD);
DWORD dwLen = *((UNALIGNED DWORD*)pInitData);
pInitData += sizeof(DWORD);
LOADFROMSTREAM が嫌で INITNEW にしたい場合は、つぎのようにしたら良いようです。
/////////////////////////////////////////////////////////////////////////////
//
// Dialog Info
//
IDD_TOACROPDF2 DLGINIT
BEGIN
IDC_PDF1, 0x378, 0, 0,
0
END






















