Q> How can I pass a value through CREATESTRUCT in MDI applications?

S

seamoon

ENG> How can I pass a value through CREATESTRUCT in MDI applications?

How can I pass a parameter to CREATESTRUCT in VC++ MDI application.
For example, Dialogue based examples can pass a value to CREATESTRUCT,
such as following example.

EX>
char* str = "hi";
DialogBoxParam(m_hInstance, MAKEINTRESOURCE(IDD_DLG), m_hWnd,
(DLGPROC)DlgProc, (LPARAM) &str);
ÇÑÈÄ¿¡ DlgProc()¿¡¼­

SetWindowLong(hDlg,GWL_USERDATA,(LONG)lParam);
char* str = GetWindowLong(hDlg,GWL_USERDATA);

We can access the "str" variable by using GetWindowLong Method.

But I cannot pass a value in occation of MDI application.

In MDI application, We regist DocTemplate like this

AddDocTemplate(new CMultiDocTemplate(
IDR_STARCW1664TYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMyFrame),
RUNTIME_CLASS(CMyView)));

And We Open those document templates by follwing method.
CMyDoc* pMyDoc = (CMyDoc*)pTemplate->OpenDocumentFile(NULL);

But I cannot use cs in PreCreateWindow(cs), i.e.
CMyFrame::preCreateWindow(CREATESTRUCT& cs)

How can I pass a value to cs in MDI applications

KOR> MDI¿¡¼­ CREATESTRUCT¿¡ ÆĶó¹ÌÅ͸¦ ³Ñ±â·Á¸é ¾î¶»°Ô Çϳª¿ä?

MDI¿¡¼­ CREATESTRUCT¿¡ º¯¼ö¸¦ ³Ñ±æ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¹º°¡¿ä?
¿¹¸¦µé¾î ´ëÈ­»óÀÚÀÇ °æ¿ì

char* str = "hi";
DialogBoxParam(m_hInstance, MAKEINTRESOURCE(IDD_DLG), m_hWnd,
(DLGPROC)DlgProc, (LPARAM) &str);
ÇÑÈÄ¿¡ DlgProc()¿¡¼­

SetWindowLong(hDlg,GWL_USERDATA,(LONG)lParam);
char* str = GetWindowLong(hDlg,GWL_USERDATA);

Çϸé strÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

ÇÏÁö¸¸, MDIÀÇ °æ¿ì¿¡´Â ¾î¶»°Ô ³Ñ°ÜÁÖ¾î¾ß ÇÏ´ÂÁö¿ä.

Áï

AddDocTemplate(new CMultiDocTemplate(
IDR_STARCW1664TYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMyFrame),
RUNTIME_CLASS(CMyView)));

CMyDoc* pMyDoc = (CMyDoc*)pTemplate->OpenDocumentFile(NULL);
¿Í °°ÀÌ Çϸé CMyFrame::preCreateWindow(CREATESTRUCT& cs)ÀÇ cs
¿¡´Â ¾î¶²°ªµµ Àü´Þ¹ÞÀ» ¼ö ¾ø½À´Ï´Ù. ¹æ¹ýÀÌ ÀÖ³ª¿ä?
 
J

Jack Klein

ENG> How can I pass a value through CREATESTRUCT in MDI applications?

[snip]

Ask in a Windows programming newsgroup like
This is not a language
question, there Windows specific extensions, not part of C++.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top