์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•
์›๋ฌธ : http://wwwi.tistory.com/130
VB๋ž‘ ๋‹ค๋ฅด๊ฒŒMFC์—์„œ๋Š” ์—๋””ํŠธ ๋ฐ•์Šค๋ฅผ ์“ฐ๋Š”๊ฒŒ ์ข€ ๊ท€์ฐฎ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ MFC ์‘์šฉํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์„ ํƒํ•ด์„œ ๋งŒ๋“ค๊ณ 
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฅ˜์—์„œ ๋Œ€ํ™” ์ƒ์ž ๊ธฐ๋ฐ˜์„ ์„ ํƒํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ ํ›„, ๋ฆฌ์†Œ์Šค ๋ทฐ์—์„œ Dialog ๋ฐ‘์— ๋‹ค์ด์•Œ๋กœ๊ทธ ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.
๋„๊ตฌ ์ƒ์ž์—์„œ ๋‹ค์ด์•Œ๋กœ๊ทธ์— ์—๋””ํŠธ ์ปจํŠธ๋กค์„ ๋‘๊ฐœ ๋งŒ๋“ ๋‹ค.

๋งŒ๋“  ์—๋””ํŠธ ์ปจํŠธ๋กค์„ ์„ ํƒํ•˜์—ฌ ์†์„ฑ์ฐฝ์„ ์—ด์–ด ID๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.

์†”๋ฃจ์…˜ ํƒ์ƒ‰๊ธฐ์—์„œ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ—ค๋”ํŒŒ์ผ(EditBoxDlg.h : ํ”„๋กœ์ ํŠธ ๋ช…์„ ์–ด๋–ป๊ฒŒ ์ฃผ๋Š๋ƒ์— ๋”ฐ๋ผ ํ—ค๋” ํŒŒ์ผ ์ด๋ฆ„์ด ๋‹ฌ๋ผ์ง„๋‹ค.)์— ์—๋””ํŠธ ์ปจํŠธ๋กค ๋ณ€์ˆ˜๋ฅผ public์— ์ถ”๊ฐ€ํ•œ๋‹ค.

// EditBoxDlg.h : ํ—ค๋” ํŒŒ์ผ

//


#pragma once



// CEditBoxDlg ๋Œ€ํ™” ์ƒ์ž

class CEditBoxDlg : public CDialog

{

// ์ƒ์„ฑ์ž…๋‹ˆ๋‹ค.

public:

    CEditBoxDlg(CWnd* pParent = NULL);    // ํ‘œ์ค€ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค.


// ๋Œ€ํ™” ์ƒ์ž ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.

    enum { IDD = IDD_EDITBOX_DIALOG };


    protected:

    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV ์ง€์›์ž…๋‹ˆ๋‹ค.



// ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.

protected:

    HICON m_hIcon;


    // ์ƒ์„ฑ๋œ ๋ฉ”์‹œ์ง€ ๋งต ํ•จ์ˆ˜

    virtual BOOL OnInitDialog();

    afx_msg void OnPaint();

    afx_msg HCURSOR OnQueryDragIcon();

    DECLARE_MESSAGE_MAP()


public:

    CEdit    m_EditIn;

    CEdit    m_EditOut;


};


๋‹ค์ด์•Œ๋กœ๊ทธ ์†Œ์Šค๋ฅผ ์—ด์–ด DoDataExchange๋ฅผ ์ฐพ๋Š”๋‹ค.

void CEditBoxDlg::DoDataExchange(CDataExchange* pDX)

{

    CDialog::DoDataExchange(pDX);


    DDX_Control(pDX, IDC_EDIT_IN, m_EditIn);

    DDX_Control(pDX, IDC_EDIT_OUT, m_EditOut);

}


์ด๋ ‡๊ฒŒ ๋‹ค์ด์•Œ๋กœ๊ทธ ๋ฐ•์Šค์— ๋งŒ๋“  ์—๋””ํŠธ ์ปจํŠธ๋กค๊ณผ
๋‹ค์ด์•Œ๋กœ๊ทธ์˜ CEdit ์œผ๋กœ ์ •์˜ํ•œ ๋งด๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ๊ด€๋ จ์ง€์–ด์ค€๋‹ค.
์ด๋ ‡๊ฒŒ ๊ด€๋ จ์ง€์–ด์ฃผ๋ฉด ์—๋””ํŠธ ์ปจํŠธ๋กค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ๋นผ๊ธฐ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฆฌ์†Œ์Šค์˜ ๋‹ค์ด์•Œ๋กœ๊ทธ์—์„œ ํ™•์ธ ๋ฒ„ํŠผ์„ ๋”๋ธ”ํด๋ฆญํ•˜๋ฉด
์•„๋ž˜์™€ ๊ฐ™์ด void CEditBoxDlg::OnBnClickedOk() ํ•จ์ˆ˜๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค.
๊ทธ ํ•จ์ˆ˜์— CEdit์œผ๋กœ ์ •์˜ํ•œ ๋ณ€์ˆ˜๋ฅผ ์ณ๋„ฃ๊ณ (m_EditIn)
"."์„ ๋ˆ„๋ฅด๋ฉด ์—๋””ํŠธ ์ปจํŠธ๋กค์˜ ํ”„๋ผํผํ‹ฐ๊ฐ€ ํ‘œ์‹œ๋˜์–ด์ง„๋‹ค.
GetWindowText๋Š” ์—๋””ํŠธ ์ปจํŠธ๋กค์˜ ๋ฌธ์ž์—ด์„ ๋ฌธ์ž์—ด ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€์ž…์‹œํ‚ค๊ณ 
SetWindowText๋Š” ๋ฌธ์ž์—ด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์„ ์—๋””ํŠธ ์ปจํŠธ๋กค์— ํ‘œ์‹œํ•œ๋‹ค.

void CEditBoxDlg::OnBnClickedOk()

{

    CString        strTest;


    // ์—๋””ํŠธ ์ปจํŠธ๋กค์— ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์„ CString์— ๋Œ€์ž…

    m_EditIn.GetWindowText(strTest);


    // CString์˜ ๋ฌธ์ž์—ด์„ ์—๋””ํŠธ ์ปจํŠธ๋กค์— ์ž…๋ ฅ

    m_EditOut.SetWindowText(strTest);


    // ์—๋””ํŠธ ์ปจํŠธ๋กค์— ๋ฌธ์ž์—ด ์ž…๋ ฅ

    m_EditIn.SetWindowText("");


    //OnOK();

}


์ด๋ ‡๊ฒŒ  MFC์—์„œ๋Š” ์ข€ ๋ฒˆ๊ฑฐ๋กญ๊ฒŒ
์ปจํŠธ๋กค๊ณผ ๋ฆฌ์†Œ์Šค๋ฅผ ์ง์„ ์ง€์–ด์ฃผ์–ด์•ผ๋งŒ์ด ์“ธ์ˆ˜์žˆ๋‹ค.
VB๋ฅผ ํ•˜๋˜ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์ •๋ง ๋ฒˆ๊ฑฐ๋Ÿฝ๊ฒŒ๋งŒ ๋Š๊ปด์ง„๋‹ค. ^^;



๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๋ณ€์ˆ˜์˜ ์ตœ์†Œ ์ตœ๋Œ€๊ฐ’ ์„ค์ •
ํ• ์ˆ˜์žˆ๋‹ค.

์ „๋ฐฉ์„ ์–ธ!!!!!!
class ๋ธ”๋ผ๋ธ”๋ผ;

๋’ค์— ๋ทฐํด๋ž˜์Šค์—์„œ ๋‹ค์ด์•Œ๋กœ๊ทธ๋ฅผ ์ธํด๋ฃจ๋“œ

๋‹ค์ด์•Œ๋กœ๊ทธ์—์„œ ๋ทฐํด๋ž˜์Šค์—์„œ ์ธํด๋ฃจ๋“œ

๊ณ ๋กœ ์‚ฅ๊ธ€์‚ฅ๊ธ€ ๋ˆ๋‹ค.

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ์ „๋ฐฉ์„ ์–ธ์„ ํ•œ๋‹ค.

(์‚ฌ์‹ค์€ ์ž˜ ๋ชป ์งœ์—ฌ์ง„ ๊ตฌ์กฐ)

๊ทธ๋Ÿฌ๋‚˜ MFC์—์„œ ์ด๋ ‡๊ฒŒ ์ œ๊ณต์„ํ•˜๊ธฐ๋•Œ๋ฌธ์—

์ผ์ข…์˜ ํŠธ๋ฆญ์„ ์จ์„œ ์ด๋Ÿฐ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

---
์ƒ์„ฑ์ž๋ณด๋‹ค ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋Š”๊ฒŒ ๋” ๋Š๋ฆฌ๋ฏ€๋กœ

๋งŒ๋“ค์–ด์ง€์ง€๋„ ์•Š์•˜๋Š”๋ฐ ์ดˆ๊ธฐํ™”ํ• ๋ ค๋ฉด ์—๋Ÿฌ!

๊ทธ๋ž˜์„œ WM_INITDIALOG ๋ฉ”์‹œ์ง€ ๋ฐœ์ƒ. ์—ฌ๊ธฐ์„œ ์ดˆ๊ธฐํ™”.


์ฐธ๊ณ ๋กœ. ON์ด๋ถ™๋Š” ํ•จ์ˆ˜๋Š” ๋ฉ”์‹œ์ง€์—์„œ ์˜จ ํ•จ์ˆ˜์ด๋‹ค!!!


๋ฐ˜์‘ํ˜•

+ Recent posts