Study

Study/C++

[C++/Console] 테트리스 만들어 보기 - 2 (키보드 입력 및 블럭)

[C++/Console] 테트리스 만들어 보기 - 1 (간단 소개 및 더블 버퍼링) Window 환경에서 C++과 Console창을 이용하여 테트리스를 만들어 봅시다. 명령 프롬프트의 환경설정 테트리스에서 사용하는 특수 문자(벽돌과 같은)는 명령 프롬프트의 폰트 설정에 많은 영향을 받 eskeptor.tistory.com 지난 시간에는 기본적인 소개와 화면 갱신에 관련하여 알아보았습니다. 오늘은 키보드 입력과 블럭에 대해서 알아보도록 하겠습니다. 윈도우 기반 콘솔에서 C/C++로 키보드 입력 받기 이 방식은 Windows 운영체제의 명령 프롬프트에서 C/C++로 키보드를 입력받는 방식입니다. Linux 운영체제의 Terminal에서는 사용할 수 없습니다. 여기서 사용하는 conio.h에 정의된 함수들은 ..

Study/C++

[C++/Console] 테트리스 만들어 보기 - 1 (간단 소개 및 더블 버퍼링)

Window 환경에서 C++과 Console창을 이용하여 테트리스를 만들어 봅시다. 명령 프롬프트의 환경설정 테트리스에서 사용하는 특수 문자(벽돌과 같은)는 명령 프롬프트의 폰트 설정에 많은 영향을 받습니다. 그러므로 명령 프롬프트의 폰트는 "굴림"을 사용 해주세요. 테트리스의 소스 코드 현재 이 테트리스의 코드는 깃허브에 공개되어 있습니다. GitHub - Eskeptor/Tetris_Cpp: C++ Tetris C++ Tetris. Contribute to Eskeptor/Tetris_Cpp development by creating an account on GitHub. github.com 테트리스 매커니즘 이 프로그램은 다음과 같은 매커니즘을 갖습니다. 상단에서 블럭이 하단으로 내려온다. 도형은 ..

Study/C++

[C++] ImGui - C++용 GUI Library

C++용 Bloat-Free GUI Library인 ImGui(아임구이) 입니다. 저도 최근에 알게된 라이브러리 입니다. GitHub - ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies - GitHub - ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies github.com 현재 많은 기업들로 부터 지원을 받고 있는..

Study/C#, Winform

[C# Winform] PropertyGrid 에서 DisplayName 우선순위

class PropData { [Category("Cell Information")] [DisplayName("Width")] public int Width { get; set; } = 0; [Category("Cell Information")] [DisplayName("Height")] public int Height { get; set; } = 0; [Category("Cell Information")] [DisplayName("Target X")] public double TargetX { get; set; } = 0.0; [Category("Cell Information")] [DisplayName("Target Y")] public double TargetY { get; set; } = 0.0;..

Study/C#, Winform

[C#] 배열 정렬 기능 (Sort)

C#을 사용하다 보면 컬렉션을 사용하는 경우가 되게 많지만 때때로는 그냥 배열을 사용하는 경우도 생깁니다. 특히 저는 배열을 더 좋아하는 편이기도 합니다. 배열을 사용할 때 정렬이 필요한 경우에는 크게 2가지를 사용합니다. Array Class의 Sort LINQ 여기서 Array Class의 Sort 기능은 실제 배열의 순서를 뒤바꾸게 되고 LINQ를 사용하는 경우에는 실제 배열의 순서를 바꾸지는 않습니다. 이번 시간에는 Array Class의 Sort를 사용하는 방법을 알아봅시다. Array Class의 Sort 사용하기 먼저 Sort를 사용한 예제를 보고 사용법을 알아봅시다. internal class Program { private static void PrintArr(T[] arr) { for ..

Study/MFC

[MFC] MFC 에서 Grid를 사용해보자 2 - 생성 및 설정 (MFC Grid Control)

이전 시간에는 MFC Grid Control(이하 Grid)을 사용하기 위한 과정을 봤습니다. 혹여나 잘 되지 않았다면 위 파일을 이용하여 해보세요. 이전 과정에서 수정했던 것을 반영한 MFC Grid Control 소스 입니다. MFC Grid Control 생성 이제 Grid를 생성하여봅시다. 도구 상자에서 Custom Control을 생성합니다. 여기서 중요한 것은 클래스(Class)에 MFCGridCtrl을 넣어주는 것입니다. (저는 ID를 IDC_GRID로 설정하였습니다.) 이제 메인 다이얼로그의 헤더 파일(h)로 와서 Grid 변수와 초기화용 함수를 선언해줍니다. #pragma once #include "GridCtrl_src/GridCtrl.h" class CMFC노리터Dlg : public..

Study/MFC

[MFC] MFC 에서 Grid를 사용해보자 1 (MFC Grid Control)

MFC 개발 환경에서는 기본적으로 Grid(또는 Data Grid)를 지원하지 않습니다. 그렇게 하여 많은 개발자들로 인해 MFC에서 Custom Control 형식으로 많은 Grid Control이 나왔지만 그 중에서 가장 많이 쓰이는 Grid Control 중 하나인 "MFC Grid Control"을 소개합니다. MFC Grid control 2.27 A fully featured MFC grid control for displaying tabular data. The grid is a custom control derived from CWnd www.codeproject.com 간단한 사용법을 알아봅시다. 소스 다운로드 및 기본 설정 홈페이지에서 "Download Grid Control Sourc..

Study/C#, Winform

[C# Winform] DataGridView Column Header Drag (컬럼 헤더 드래그)

Winform 에서 데이터를 표로 나타낼때 주로 DataGridView를 사용합니다. 여기서 Column의 Header를 Drag 할 수 있게 하는 옵션이 존재합니다. dataGridView1.AllowUserToOrderColumns = true; 바로 AllowUserToOrderColumns 라는 옵션입니다. 이렇게 UI 컨트롤 속성에서도 제공하고 있는 옵션입니다. 이 옵션이 true인 경우 사용자가 Column의 Header를 Click한 채로 Drag하면 해당 Column이 옮겨집니다. public partial class Form1 : Form { public Form1() { InitializeComponent(); // DataGridView의 Name은 dataGridView1 dataG..

Study/MFC

[MFC/Win32 API] 파일의 생성 시간, 접근 시간, 쓰기 시간

MFC에서 파일의 생성 시간(Creation Time), 접근 시간(Last Access Time), 쓰기 시간(Last Write Time)을 확인하는 방법입니다. 여기서 사용하는 핵심 함수는 크게 3가지 입니다. /** 파일의 시간을 받아오는 함수 @paramhFile 시간을 받아올 파일 핸들 @paramlpCreationTime 파일의 생성시간을 반환할 포인터 (NULL인경우 반환 안함) @paramlpLastAccessTime 파일의 마지막 접근 시간을 반환할 포인터 (NULL인경우 반환 안함) @paramlpLastWriteTime 파일의 마지막 쓰기 시간을 반환할 포인터 (NULL인경우 반환 안함) */ BOOL GetFileTime( [in] HANDLE hFile, [out, optiona..

Study/MFC

[MFC] ListBox 컨트롤 (리스트박스)

흔히 위와 같은 컨트롤을 ListControl ListBox 등으로 표현합니다. (사실 위의 컨트롤은 TreeControl에 가깝죠) MFC에서는 List 관련 컨트롤이 크게 ListBox와 ListControl로 나뉩니다. 더욱 세부적으로 표현할 수 있는 것은 ListControl이지만 간단하게 사용할 수 있는 것은 ListBox입니다. ListBox 생성 및 설정 ListBox를 생성해 봅시다. ListBox를 처음 생성하면 우측과 같이 텅 빈 공간이 생깁니다. 아직 아이템이 채워지지 않은 ListBox가 생성되었습니다. ListBox에서 자주 사용되는 속성 항목은 다음과 같습니다. 속성 (한글) 속성 (영어) 설명 정렬 Sort 아이템이 문자열 순서대로 정렬 (오름차순) 이제 ListBox를 사용하..

Eskeptor
'Study' 카테고리의 글 목록 (2 Page)