728x90
반응형

win32

총 11개의 포스트

win32(11)

  1. WindowsAPI - 실습 그림판 구현하기 종합 (마지막 / 정리)

    서론 WindowsAPI(Win32, GDI)를 이용해서 간단하게 그림판의 기능을 모사해보는 실습을 했습니다. 지난 과정들을 정리하고 스스로 평가하는 시간을 가져보도록 하겠습니다. 지난 포스트 보기 더보기 2022.04.13 - [컴퓨터/Win32-API] - WindowsAPI - 실습 - 그림판 구현하기 1 (개요) 2022.04.14 - [컴퓨터/Win32-API] - WindowsAPI - 실습 - 그림판 구현하기 2 ( 프로젝트 구조 설계 및 시작) 2022.04.15 - [컴퓨터/Win32-API] - WindowsAPI - 실습 - 그림판 구현하기 3 ( UI 부분 구현 ) 2022.04.19 - [컴퓨터/Win32-API] - WindowsAPI - 실습 - 그림판 구현하기 4 (버튼 제어..

    2022.04.23

    컴퓨터/Win32-API

    Commnet

  2. WindowsAPI - 실습 - 그림판 구현하기 3 ( UI부분 구현 )

    서론 본문에서는 지난 포스트에서 작성한 구조에 컨트롤 버튼 등을 만드는 UI작업을 진행해 보도록 하겠습니다. 2개의 토글 버튼과 색상을 제어할수 있는 색상판을 만들어 보도록 합시다. 이전 글 WindowsAPI - 실습 - 그림판 구현하기 2 ( 프로젝트 구조 설계 및 시작) 서론 지난 포스트에 이어서 그림판 구현하기 본격적인 소스코드 구현을 시작해 보도록 합시다. 기본적으로 소스코드를 구현할 틀을 만들어 보도록 합시다. 지난 글 WindowsAPI - 실습 - 그림판 구현 blog-of-gon.tistory.com 버튼 만들기 2개의 버튼을 만들도록 하겠습니다. 그리기 기능과 지우기 기능이 있는 2가지의 버튼을 만들기 위해 하나의 함수를 만들었습니다. //버튼생성하기 void CreateButton(c..

    2022.04.15

    컴퓨터/Win32-API

    Commnet

  3. WindowsAPI - 실습 - 그림판 구현하기 2 ( 프로젝트 구조 설계 및 시작)

    서론 지난 포스트에 이어서 그림판 구현하기 본격적인 소스코드 구현을 시작해 보도록 합시다. 기본적으로 소스코드를 구현할 틀을 만들어 보도록 합시다. 지난 글 WindowsAPI - 실습 - 그림판 구현하기 1 (개요) 서론 지난 포스트에서 기본적인 WindowsAPI를 만들기 위한 몇 가지 방법들을 익혀왔습니다. 이제 배운 내용들을 합쳐서 간단한 그림판 기능을 구현하는 실습을 해보도록 하겠습니다. 본문에서는 blog-of-gon.tistory.com 프로젝트 파일 구조 우선 프로젝트를 진행하기 전에 파일을 나누려고 합니다. 구현할 소스코드가 많지 않으니, 간단하게 3개 정도로 나누도록 하겠습니다. WinMain과 WinProc가 존재하는 소스코드 (Paint.cpp) 더보기 // Paint.cpp : D..

    2022.04.14

    컴퓨터/Win32-API

    Commnet

  4. Win32_API - GDI로 선그리기3(연속해서 여러 선 그리기)

    서론 Win32_API - GDI로 선그리기2 (마우스 동작을 이용해봅시다.) 서론 지난 글에서 MoveToEx와 LineTo 2개의 함수를 이용해서 선을 그려봤습니다. 본문에서는 이 두 함수와 마우스 동작에 따른 처리를 하면서 마우스 동작에 따른 처리방법을 알아보고, 다양한 형태 blog-of-gon.tistory.com 지난 글에서 간단하게 마우스 클릭으로 직선을 그려보았습니다. 하지만 추가적으로 선을 그리지 못하고 하나의 선만을 그릴 수 있었습니다. 이유는 다시 WM_PAINT 메세지를 처리할 때 마지막의 직선만을 그리기 때문입니다. 이 문제를 해결하기 위해서는 여러방법이 있습니다. 본문에서는 여러 선들의 좌표들을 기억해서 다시 그리는 방법으로 해결을 해보도록 합시다. 여러 선들의 좌표를 기억해야 ..

    2022.03.18

    컴퓨터/Win32-API

    Commnet

  5. Win32_API - 색상 (RGB)

    서론 응용프록그래밍을 만드는 데에 있어 색은 시각적 요소에 다양성을 부여하며 프로그램의 효용성을 극대화시킬 수 있는 중요 요소 중 하나입니다. 본문에서는 색을 표현하는 RGB에 대하여 알아보고, Windows 프로그래밍에서는 어떻게 RGB의 개념을 적용하는지 알아봅시다. RGB(Red Green Blue) 빛의 3원색 빨간색, 초록색, 파란색을 합친 합성어로서 색상이라는 말을 표현할 때 자주 쓰이는 언어입니다. 이 3원색을 적절히 조화함으로써 다양한 색상을 만들 수 있습니다. Windows 프로그래밍에서 RGB 윈도즈 프로그래밍에서도 RGB에 개념을 적용하여 색상을 표현 가능합니다. RGB를 메크로의 형태로 표현했으며 원형은 다음과 같습니다. void RGB( r, g, b ); 인자로는 총 3개의 빨간..

    2022.02.24

    컴퓨터/Win32-API

    Commnet

  6. Win32_API - WPARAM 과 LPARAM

    서론 Windows 응용 프로그래밍 중 다양한 메시지를 콜백 함수에서 처리합니다. 이 콜백 함수에는 윈도의 메시지와 2종류의 파라미터 값을 통해서 어떠한 메시지에 어떤 키가 눌렸는가 또는 어디 위치에서 클릭했는가 등을 판단하고 처리하게 됩니다. 오늘은 이 파라미터가 어떤 방식으로 들어오는지 알아보도록 합시다. WPARAM과 LPARAM Windows 응용 프로그래밍 중 콜백 함수의 선언 부분을 보면 다음과 같습니다. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 여기서 서론에서 말한 것과 같이 두 가지의 파라미터 변수로 윈도 메시지와 함께 다양한 상태의 정보를 제공해 줍니다. 과거부터 지금까지 Window 운..

    2022.02.20

    컴퓨터/Win32-API

    Commnet

  7. Win32_API - 버튼 연동하기

    서론 지난 포스트에서 생성한 하위 윈도인 버튼을 클릭하면 반응을 하기 위한 간단한 예제를 알아보도록 합시다. WM_COMMAND: 윈도우윈도 창에서 클릭을 한다던지, 특정 키보드를 누른다면 기본적으로 윈도에서는 WM_COMMAND라는 메시지를 보냅니다. 이 메시지 안에 어떤 처리를 할 것인지 입력한다면, 만든 버튼에 기능을 부여할 수 있게 됩니다. 그렇다면 버튼이 클릭된 것을 어떻게 알 것인가 ? 아무런 입력이나 WM_COMMAND를 생성한다는 것을 이해했습니다. 그렇다면 어떻게 버튼이 눌렸는지 알 수 있을까요? 우선 메시지를 처리하는 콜백 함수를 살펴볼 필요가 있습니다. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP..

    2022.02.19

    컴퓨터/Win32-API

    Commnet

  8. Win32_API - 버튼 만들기

    서론 수많은 Windows 프로그램들의 Window를 보면 다양한 기능들을 제공하는 버튼들을 많이 보았을 것입니다. 첨부된 그림처럼 Window 프로그램에는 프로그램을 제어할 수 있는 다양한 기능이 존재합니다. 이를 컨트롤이라 부르며 가장 대표적이고 익숙한 컨트롤 중 하나가 '버튼'입니다. 대표적인 컨트롤 종류 button scrollbar edit listbox combobox CreateWindow함수로 버튼을 만들자 버튼 또한 윈도의 일종입니다. 우리가 만드는 메인 윈도의 하위 윈도의 개념으로 적용이 됩니다. 따라서 윈도를 생성하는 함수인 CreateWindow함수를 통해 만들어집니다. 함수의 원형을 보면 다음과 같습니다. CreateWindowW( lpClassName,//생성할 클래스 이름 lp..

    2022.02.19

    컴퓨터/Win32-API

    Commnet

  9. Win32_API - 빈 프로젝트에서 WinMain으로 실행하기(with VisualStudio)

    VisualStudio를 통한 Win32 App VisualStudio를 통해서 Win32를 만들기 위해서는 친절하게 Windows 데스크톱 응용프로그램으로 시작하며 만들 수 도있다. 하지만 C언어 기본을 공부하는 사람들이 사용하는 '빈 프로젝트'를 통해 만들고 Win32 프로그래밍 소스코드를 작성하면 에러가 발생하기 때문이다. 본 문에서는 간단하게 이 방법을 극복하는 방법에 대하여 적어보도록 하겠습니다. C언어에서의 진입점은 main()이다. C언어에는 main() 함수가 프로그램의 시작점입니다. Win32에서는 wWinMain, WinMain 등 main함수가 아닌 다른 함수가 시작점입니다. 따라서 순수 C언어로 작성하기로 한 환경에서는 wWinMain, WinMain 등의 함수를 시작점으로 인식할 ..

    2022.02.04

    컴퓨터/Win32-API

    Commnet

  10. Win32_API - 프로그램 동작 구조

    서론 본격적인 실습을 하기 전 기존에 간소화한 실습용 소스코드가 어떤 식으로 동작하는지 이해할 필요가 있습니다. 프로그램이 어떻게 동작하는지 이해를 해야만 어느 부분에 프로그래밍을 할 수 있을지 알게 됩니다. WinMain함수와 WndProc콜백 함수 소스코드를 동작시키면 WinMain함수가 동작하여 메시지 루프에 들어가게 됩니다. 이 과정 이후 WndProc함수에 작성한 내용들이 운영체제의 콜백 함수에 의해 실행되고 처리되게 됩니다. 정말 정말 간단하게 표현하면 위의 그림과 같습니다. WinMain에서 처음 윈도를 생성하고 초기 값을 가진 후 메시지 루프 영역에 도달하게 됩니다. while (GetMessage(&msg, nullptr, 0, 0)) { TranslateMessage(&msg); Dis..

    2022.01.29

    컴퓨터/Win32-API

    Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :

1 2
728x90
반응형