■ 윈도우 기반의 응용프로그램을 만들 수 있는 세가지 개발 환경

1. CPP-MFC

2. Win32(WinAPI)-SDK

3. CS-WinForm

 

그밖에,

RAD Tool(Visual Basic, Delphi, Power Builder 등)이 있으나 기능이 제한적임.

 

■ 함수 이름 짓기

초기화..INITIALIZE...(INITINSTANCE..)

메세지루프..RUN...

메시지처리..HANDLE...(or) 처리하는 행동자체를 이름으로 쓰기도 함(LBUTTONDOWN과 같이)

→ 이름만으로 예측가능한, 실제 동작을 반영하여 짓는다.

 

■ 코드 비교

1. CSWINFORM (C#)

1.1 InitializeComponent() 

private void InitializeComponent()        //윈도우 사양 결정, 가장 먼저 실행되어야 함

        {
            this.SuspendLayout();
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(309, 282);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);

        }

1.2

namespace CSWINFORM
{
    static class Program
    {
        /// <summary>
        /// 해당 응용 프로그램의 주 진입점입니다.
        /// </summary>
        [STAThread]

 // STA(Single Thread Apartment): 애플리케이션 스레드의 모델을 단일 스레드로 지정하는 속성. 다중 스레드를 사용하지 않는다는 것을 의미하기도 한다. 메시지 루프가 돌려면 스레드가 필요.
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());        // C#에서 메시지 루프
        }
    }
}

 

내가 구현한적이 없는 함수가 실행될때는 정의로 이동하여 원형/요약 확인. 보다 더 정확한 사용을 보기 위해서는 msdn이용 한다.

 

2. CSDK

 

 

3. Mfc


Posted by 마마필로 :