C++ MFC 환경

C#/Visual Studio 2019. 12. 23. 17:03
728x90

마이크로소프트 파운데이션 클래스 라이브러리(Microsoft Foundation Class Library)는 C++용 프로그램 라이브러리이다.
블로그 글을 찾아서 읽다보니
C++ 공부하는 분들 제발 MFC책부터 펼치지 말란다.
VS2008에서 사용하는 C++ 표준이라고 해봐야 옛날 고전 문법 정도가 전부다.
C++ 개발자지만, 나쁘게 이야기하면 MFC밖에 안 다뤄봤다.
C++ 개발자라 하기엔 뭔가 부족한 느낌이다.
C#으로 UI를 만들고 C++로 엔진 구현하는게 추세다.
MFC는 공식적으로 1999년에 MS가 지원을 끊었다.


C++ MFC를 사용하기 위한 기본 설치 방법이다.





MySQL 과 C++ 연동하는 걸 해보려고 검색했더니 MFC 자료가 나오길래 설치하는 방법을 적어두기는 한다.

검색결과 이건 제대로 된 방향이 아니라고 하니까 일단 C++ 문법 지식 제대로 익히는데 주력해야 하나보다.

블로그 이미지

Link2Me

,
728x90

Visual Studio 에서 C++ 포인터 주소 등 주소 할당에 대해 실행할 때 마다 메모리 주소가 다르게 변경된다.

메모리 주소를 고정시키는 방법이다.





블로그 이미지

Link2Me

,
728x90

Visual Studio 에서 자주 사용하는 단축키 정리


 라인 삭제

 CTRL + L

 라인 복사

 현재 커서가 위치한 줄에서 CTRL + C, 원하는 줄로 이동하여 CTRL + V

 코드 정렬

 CTRL + K + F

 선택 영역을 주석으로 처리

 CTRL + K, C

 선택 영역을 주석처리 제거

 CTRL + K, U

 대응하는 괄호 찾기(이동)

 CTRL + ]

 화면 글꼴 크게/작게 보기

 CTRL + 마우스 휠 누르면 화면 글꼴이 커지고 작아진다.


블로그 이미지

Link2Me

,
728x90

이번에 자동 업데이터를 만들어서 실행파일에 같이 실행되게 하고 싶었다.

그래서 관련 내용을 찾아서 테스트해보고 적어둔다.


1. 별도로 만든 자동업데이터의 파일을 추가한다.




SubtitleManager 솔루션에 관련된 프로젝트 파일을 추가했다.


빌드가 같은 폴더에 되도록 경로 변경을 하는 방법이다.




빌드 종속성을 눌러서 순서를 정해줘야만 제대로 동작이 된다.





블로그 이미지

Link2Me

,
728x90

C# 을 배우다보니 .NET 버전이 최소 4.0 은 되어야 동작하는 기능이 있다.

그래서 .NET 4.0 설치파일을 찾아서 첨부해둔다.

나중에 필요할 때가 있을 거 같아서다.


dotNetFx40_Full_setup.exe


블로그 이미지

Link2Me

,
728x90

Visual Studio 에서 Line 번호를 보이게 하는 방법이다.





'C# > Visual Studio' 카테고리의 다른 글

비주얼 스튜디오 2015 빌드 경로 변경 및 프로젝트 종속성  (0) 2016.01.04
.NET 4.0 설치 프로그램  (1) 2015.10.25
C# 메인폼 변경하는 방법  (0) 2015.09.15
C# statusStrip 메뉴  (2) 2015.09.10
What's New in C# 6.0  (0) 2015.09.05
블로그 이미지

Link2Me

,
728x90

기능을 익히기 위해 연습하는 sln 프로젝트에 새로운 WinForm 을 추가하고 기존에 작성된 WinForm 을 없애기로 했다.


방법은 새로운 WinForm 을 추가하여 기존에 작성했던 폼의 자료를 복사하고 코드를 복사하는 것이다.

물론 Layout 은 새로 구성했다.


Layout 도 새로 구성했지만 여전히 기존 WinForm 이 메인으로 나올 것이다.

Program.cs 파일을 열어서 아래처럼 Namespce 와 Application.Run(new MainForm()); 을 변경해주어야 한다.

만약 Namespace 를 동일하게 했다면 Application.Run(new MainForm()); 부분만 변경해주면 된다.


namespace MySQLConnection
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
    }
}


이걸 작성하면서 느낀 점은 Layout 구성할 때 가장 먼저 menuStrip 을 먼저 구성한 다음에 TabControl 을 구성해야 겠다는 걸 알게 되었다.

먼저, TabControl 을 추가해 놓고 menuStrip 을 추가하니까 TabPage 안에 메뉴가 추가된다.




ListView 기능을 배우면서 정리를 해보고자 Layout 을 dataGridView 와 ListView 탭으로 구분했다.

dataGridView 와 ListView 의 차이점을 좀 더 명확하게 이해하면서 정리하는데 도움이 될 거 같아서다.


'C# > Visual Studio' 카테고리의 다른 글

.NET 4.0 설치 프로그램  (1) 2015.10.25
Visual Studio 2015 라인번호 보이게 하기  (0) 2015.10.06
C# statusStrip 메뉴  (2) 2015.09.10
What's New in C# 6.0  (0) 2015.09.05
C# Name 명칭 변경  (0) 2015.09.02
블로그 이미지

Link2Me

,
728x90

기능을 익히는 가장 간단한 방법은 유투브 동영상을 검색하는 거다.

검색어 : C# statusStrip

을 입력하면 관련 동영상 강좌가 나온다. 영어 몰라도 대충 그림보면 이해된다.




기본 생성되는 statusStrip1 을 mainstatusStrip 이라고 .Name 을 변경해줬다.





statusStrip 속성을 선택한 다음에 아래 1번을 누르면...


컬렉션 편집기 창이 뜬다.


Spring 속성을 변경하면 위치가 변경된다.

실제로 하단에 표시될 내용을 입력해보자.

코드를 죽 적는 것보다 깔끔하게 처리하려고 폼(form) 이 로드될 때 statusStrip 창에 보여질 내용을 함수로 만들었다.


private void MainForm_Load(object sender, EventArgs e)
{
    status_date();
}


private void status_date()
{
     // using System.Globalization; 추가 해줘야 날짜가 나옴           
     CultureInfo cultures = CultureInfo.CreateSpecificCulture("ko-KR");
     tS_date.Text = "오늘 : " + DateTime.Now.ToString(string.Format("yyyy년 MM월 dd일 ddd요일", cultures));
}

출력되는 모습을 볼 수 있다.

'C# > Visual Studio' 카테고리의 다른 글

Visual Studio 2015 라인번호 보이게 하기  (0) 2015.10.06
C# 메인폼 변경하는 방법  (0) 2015.09.15
What's New in C# 6.0  (0) 2015.09.05
C# Name 명칭 변경  (0) 2015.09.02
C# 윈도우폼(로그인폼) 실행 팁 배우기  (0) 2015.08.17
블로그 이미지

Link2Me

,
728x90

C# 6.0 에서 새로워진 것이 무엇인지 비교해놓은 곳이 있다.


http://www.codeproject.com/Tips/1023426/Whats-New-in-Csharp


before C# 6.0

string name = "Murphy Cooper";
string planet = "Cooper Station";
WriteLine("{0} is actually named after {1}", planet, name);


After C# 6.0

string name = "Murphy Cooper";
string planet = "Cooper Station";
/* Magic happens here */
WriteLine($"{planet} is actually named after {name}");

변수 대입하는 걸 직관적으로 이해할 수 있게 변경한 거 같다.


다른 자세한 사항은 위 URL 링크를 눌러서 들어가 보면 된다.

'C# > Visual Studio' 카테고리의 다른 글

C# 메인폼 변경하는 방법  (0) 2015.09.15
C# statusStrip 메뉴  (2) 2015.09.10
C# Name 명칭 변경  (0) 2015.09.02
C# 윈도우폼(로그인폼) 실행 팁 배우기  (0) 2015.08.17
C# 윈도우폼 ContextMenu 만들기  (0) 2015.08.02
블로그 이미지

Link2Me

,
728x90

인터넷에서 소스파일을 수정 좀 해보면서 .Name 값을 변경을 해봤다.



Designer.cs 파일에서 내용이 자동으로 변경된다.


더블클릭한 이름도 같이 변경되는 줄 알았더니 이건 변경이 안된다.

소스창에서 직접 수정을 해봤다.




메뉴 구조의 이름을 본인의 입맛에 맞게 변경하기 위해서 해봤다.

.Name 이름만 변경하면 기존에 이미 생성되었던 Click Event 도 자동으로 이름이 변경될 줄 알았는데 그렇게 안되어 일일히 수작업 수정을 해야 했다.


내가 잘 모르는 뭔가가 있는지 아직은 모르겠다.

'C# > Visual Studio' 카테고리의 다른 글

C# statusStrip 메뉴  (2) 2015.09.10
What's New in C# 6.0  (0) 2015.09.05
C# 윈도우폼(로그인폼) 실행 팁 배우기  (0) 2015.08.17
C# 윈도우폼 ContextMenu 만들기  (0) 2015.08.02
C# 윈도우 실행폼 메뉴 만들기  (0) 2015.07.30
블로그 이미지

Link2Me

,
728x90
C# 유투브 강좌 등을 보면서 배운 걸 간략하게 정리를 해두려고 한다.

내부 소스코드로 이동은 단축키 F7 --> Form1.cs

디자인 소스코드로 이동은 Shift+F7 --> Form1.cs [디자인]



ControlBox 속성을 false 로 변경하면 상단 X 버튼마저 보이지 않게 된다.




각 컨트롤을 선택 후 우클릭하여 속성(property)을 선택하여 해당 컨트롤의 속성을 변경할 수 있다.


ListView

도구상자 --> 공용 컨트롤 --> ListView


파일을 Drag & Drop 으로 끌어다가 놓을 때 동작이 가능하게 하는 옵션


Datagridview 창크기 조절하는 방법



상황에 따라

AutoSizeColumn: Fill

Dock: Fill 부분을 처리





'C# > Visual Studio' 카테고리의 다른 글

C# statusStrip 메뉴  (2) 2015.09.10
What's New in C# 6.0  (0) 2015.09.05
C# Name 명칭 변경  (0) 2015.09.02
C# 윈도우폼 ContextMenu 만들기  (0) 2015.08.02
C# 윈도우 실행폼 메뉴 만들기  (0) 2015.07.30
블로그 이미지

Link2Me

,
728x90

프로그램의 특정 영역에 마우스 오른쪽을 누르면 메뉴가 나오고 추가, 수정, 삭제, 닫기 등의 ContextMenu 를 만드는 방법이다. Youtube 외국 동영상 보고 따라서 하면서 개념을 익히는 중이다.





버튼을 하나 만들고 버튼 위에서 동작하는 ContextMenu 를 만들고자 한다면

contextMenuStrip 버튼을 Drag & Drop 하면 하단에 contextMenuStrip2 라고 추가된다.



Forgroud 를 더블 클릭하면 소스코드 편집상태로 들어간다.

ColorDialog 대화상자를 연결하는 코드를 적어준다.

       private void foregroundToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            ColorDialog dlg = new ColorDialog();
            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                button1.ForeColor = dlg.Color;
            }
        }

        private void backgroundToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            ColorDialog dlg = new ColorDialog();
            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                button1.BackColor = dlg.Color;
            }
        }


이제 button1 위에서 ContextMenu2 가 동작하게 하려면 아래 그림처럼 연결해준다.


이제 F5 키를 눌러서 실행하면

버튼 위에서 마우스 우클릭을 하면 디자인한 화면이 나온다.




배경색까지 적용해본 상태다.



'C# > Visual Studio' 카테고리의 다른 글

C# statusStrip 메뉴  (2) 2015.09.10
What's New in C# 6.0  (0) 2015.09.05
C# Name 명칭 변경  (0) 2015.09.02
C# 윈도우폼(로그인폼) 실행 팁 배우기  (0) 2015.08.17
C# 윈도우 실행폼 메뉴 만들기  (0) 2015.07.30
블로그 이미지

Link2Me

,
728x90


C# 기초적인 것을 배우면서 그림으로 캡쳐를 해두려고 한다. 전문 프로그래머가 아니므로 나중에 보면 도통 생각이 나지 않는다.

메뉴 만드는 유투브 동영상을 보고 간략하게 기록해둔다.



메뉴 이름을 지정하기


Main Menu 이름이라고 명칭 변경

(Name) 을 mmMainMenu 로 변경하면 아래처럼 변경된다.


상단메뉴와 서브 메뉴가 있는데

상단메뉴는 mnuFile, mnuEdit, mnuFont, mnuView, mnuHelp 과 같이 이름을 정한다.

파일(&F), 편집(&E), 서식(&O), 보기(&V), 도움말(&H)

서브메뉴는 menu item 의 약자인 miNew, miOpen, miSave, miSaveAs, miExit 와 같이 이름을 정한다.


- 를 입력하고 엔터키를 치면 구분선이 된다. 또는 마우스 우클릭하여 구분선을 선택해도 된다.



단축키 지정하기



서브 메뉴 비활성화하기



솔루션 탐색기에서 Form1.Designer.cs 파일에서 코드보기를 하면

메뉴 정의를 한 내용이 보인다. 아직 수정하지 않은 정의도 보인다.




텍스트박스를 하나 끌어다놓고

(.Name) = txtMain ,Multiline = True, ScrollBars = Vertical, Dock = Fill


'C# > Visual Studio' 카테고리의 다른 글

C# statusStrip 메뉴  (2) 2015.09.10
What's New in C# 6.0  (0) 2015.09.05
C# Name 명칭 변경  (0) 2015.09.02
C# 윈도우폼(로그인폼) 실행 팁 배우기  (0) 2015.08.17
C# 윈도우폼 ContextMenu 만들기  (0) 2015.08.02
블로그 이미지

Link2Me

,