[Windows API] Win32 API를 활용해 시계, 일회용 타이머 만들기 - (2)
개발/Win32 API Programming2022. 1. 18. 01:35[Windows API] Win32 API를 활용해 시계, 일회용 타이머 만들기 - (2)

목표 이전 포스팅에서 진행한 MyTimer 프로젝트의 문제점을 찾고 이를 해결해 개선된 프로그램을 작성합니다. 추가로, 특정 상황에서만 잠깐 사용하는 일회용 타이머를 작성해보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 이전 프로그램의 문제점과 해결 방안 일회용 타이머 만들기 정리 개요 이전 포스팅에서 윈도우에 현재 시간을 출력하는 프로그램을 제작했습니다. 시간은 정상적으로 출력되나, 실행하면 바로 뜨지 않고 1초 후에 뜨고, 화면이 깜빡거리는 문제점이 있었습니다. 이 문제를 해결하면서 일정 시간이 되면 알람이 울리는 프로그램을 작성해보도록 하겠습니다. 추가로, 일정 시간 동안안만 메세지를 띄우는 것도 한 번 해보도록 하겠습니다. 이전 프로그램의 문제점과 해결 방안 이전 포스팅에서 진행한 현재..

[Windows API] Win32 API의 타이머를 활용해 시계 만들기 - (1)
개발/Win32 API Programming2022. 1. 11. 14:21[Windows API] Win32 API의 타이머를 활용해 시계 만들기 - (1)

목표 타이머에 대해 이해하고, 타이머를 활용해 다양한 작업을 하는 방법에 대해서 배워보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 타이머 설치와 제거 타이머를 활용해 시계 만들기 정리 개요 이전 포스팅에서 Win32 API를 활용해 입, 출력을 하는 것에 대해 배웠습니다. 텍스트, 도형 등을 출력하고, 마우스 클릭을 통해 그림을 그리는 프로그램을 작성했습니다. 코드는 순차적으로 진행되기 때문에, 이러한 동작들은 개발자가 의도한 순서에 의해 동작하는 코드들이었습니다. 이번 포스팅에서는 타이머를 통해 일정 시간마다 메세지 혹은 함수를 호출해 동작하는 것에 대해서 배워보도록 하겠습니다. 타이머 설치와 제거 Win32 API의 장점 중 하나는 백그라운드 작업을 지원한다는 것입니다. 백그라운드 작업을..

[JAVA] 문자열(String)생성, 문자열 비교 Equals(), == 연산자의 차이점
개발/JAVA2022. 1. 9. 17:40[JAVA] 문자열(String)생성, 문자열 비교 Equals(), == 연산자의 차이점

목표 Java에서 문자열(String)을 생성하는 방법과 문자열을 비교할 때 Equals() 메소드와 == 연산자의 차이점에 대해서 알아보겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 문자열 생성 문자열 비교 정리 개요 Spring 프레임워크를 배우기 위해 Java를 공부하고 있습니다. 부스트코스에서 egoing님의 강의를 듣고 있는데, 문자열을 비교할 때 == 대신 equals()를 사용해야 한다고 합니다. 안그래도 Java에서 String 객체를 기본적으로 지원해주는 것에 흥미를 느끼고 있었는데, 이때다 싶어서 문자열에 관한 내용에 대해서 자세히 찾아봤습니다. 기본적으로 문자열(String)은 Java의 최상위 클래스인 Object에 속해있는 String 클래스의 객체입니다. 이와 관련된 메소드를..

[Windows API] Win32를 활용해 마우스 입력하기
개발/Win32 API Programming2022. 1. 9. 13:34[Windows API] Win32를 활용해 마우스 입력하기

목표 Win32 API를 활용해 마우스 입력(선 그리기 등)하는 것을 실습하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 마우스 입력시 발생하는 메세지 자유 곡선 그리기 정리 개요 이전 포스팅에서 키보드 입력을 통해 문자열을 화면에 출력하는 프로젝트를 작성했습니다. 이 과정에서 몇몇 변수를 static으로 선언하는 이유와 가상키 코드에 대해서 알아봤습니다. 이번 포스팅에서는 마우스를 통해 그림을 그리는 프로젝트를 작성해보도록 하겠습니다. 마우스 입력시 발생하는 메세지 마우스를 클릭하게 되면 해당 메세지가 발생하게 됩니다. 마우스를 눌렀을 때, 마우스를 이동할 때, 더블클릭할 때, 눌렀다가 뗏을때 각각의 메세지가 발생합니다. 왼쪽 버튼을 눌렀는지, 오른쪽 버튼을 눌렀는지에 따라 각각의 메세지가 발생합니..

[Windows API] Win32 API를 활용해 키보드 입력하기
개발/Win32 API Programming2022. 1. 6. 16:44[Windows API] Win32 API를 활용해 키보드 입력하기

목표 Win32 API를 활용해 키보드를 통한 입력을 처리하는 것에 대해 이해하도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. Win32 API의 입력 키보드 입력 사용자가 입력한 문자 방향키를 통해 이동하기 정리 개요 이전 포스팅에서, 화면에 텍스트를 출력하는 프로젝트를 진행하면서 TextOut, DrawText 함수에 대해서 다뤘습니다. 화면에 출력하기 위한 Device Context에 대한 개념과 GetDC, BeginPaint 함수의 차이점에 대해서 배웠었는데요. 이번 포스팅에서는, 키보드를 통한 입력에 대해서 배워볼 예정입니다. Win32 API의 입력 Win32 API의 장점 중 하나는, 멀티 태스킹 환경을 지원한다는 것입니다. 하나의 프로그램이 입력을 받기 위해 대기한다고 해서, 시..

[Windows API] Win32 API를 활용해 긴 텍스트, 도형, 메세지박스 출력하기
개발/Win32 API Programming2022. 1. 2. 16:19[Windows API] Win32 API를 활용해 긴 텍스트, 도형, 메세지박스 출력하기

목표 이번 포스팅에서는 문자열 뿐만 아니라, 긴 텍스트, 픽셀, 원 등등 다양한 것들을 화면에 출력할 것입니다. 목차 클릭하면 해당 목차로 이동합니다. 긴 문자열 출력하기 다양한 그래픽(도형) 출력하기 메세지 박스(Message Box) 출력하기 정리 개요 이전 포스팅에서 Device Context에 대한 개념과 GDI에 대해서 배웠습니다. 이를 통해, 출력 시 발생하는 메세지 및 메세지 처리를 비롯한 출력의 일련의 과정에 대해서 이해했습니다. 이번 포스팅에서는 긴 텍스트를 출력해보고, 간단한 도형과 메세지박스를 출력하는 프로젝트를 진행해서 간단한 출력에 대해서 이해하는 시간을 갖도록 하겠습니다. 긴 문자열 출력하기 이전 포스팅에서 문자열을 출력하기 위해 TextOut 함수를 사용했습니다. 말 그대로 문..

[Windows API] Device Context란?, Win32 API를 활용해 문자열 출력하기
개발/Win32 API Programming2021. 12. 31. 16:11[Windows API] Device Context란?, Win32 API를 활용해 문자열 출력하기

목표 Win32 API을 활용해서 화면에 문자열을 어떻게 출력하는지 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. Device Context(DC)란? 문자열 출력하기 문자열 정렬하기 정리 개요 이전 포스팅까지 Win32 API의 동작 원리와 진입점인 WinMain과 메세지 처리 함수인 윈도우 프로시저에 대해서 알아보았습니다. 이제, 본격적으로 Win32 API를 활용해서 프로그램을 작성해보는 시간을 갖도록 하겠습니다. 이번 포스팅에는, 문자열을 출력하고 정렬하는 과정을 진행하도록 하겠습니다. Device Context(DC)란? Win32에서 출력을 하기 위해서는 Device Context라는 구조체가 필요합니다. 해당 구조체는 출력에 필요한 모든 정보를 갖고 있는 데이터 구조체입니다...

[Windows API] Win32 API의 기본구조, 윈도우 프로시저
개발/Win32 API Programming2021. 12. 26. 18:57[Windows API] Win32 API의 기본구조, 윈도우 프로시저

목표 WinMain함수에서 전달한 메세지를 처리하는 윈도우 프로시저(WinProc 함수)에 대해서 알아보도록 하겠습니다. 개요 지난 포스팅에서 WinMain에 대한 내용에 대해서 이해하는 시간을 가졌습니다. 사용자의 이벤트로부터 발생되는 메세지를 메세지 큐를 통해 받아서 메세지 처리 전용 함수인 윈도우 프로시저로 전달한다고 했습니다. 윈도우 프로시저는 메세지를 받아서 어떻게 처리하는지에 대해서 알아보도록 하겠습니다. 윈도우 프로시저(Window Procedure, WndProc 함수) WinMain 함수에서 메세지 루프를 통해서 발생한 메세지를 큐에 저장합니다. 해당 메세지를 처리하기 위해서 메세지 처리 전용 함수로 전달되어야 합니다. 이 때, 메세지 처리 전용 함수는 윈도우 프로시저입니다. 윈도우 프로..

image