All250 [WinAPI] GDI+를 이용하여 이미지 파일(png, jpg 등) 출력하기 우선 GDI+를 사용하기 위해 다음과 같이 를 인클루드하고 Gdiplus.lib 라이브러리를 연결해줍니다. 그리고 편의를 위해 Gdiplus 네임스페이스를 선언해줍니다. #include #pragma comment(lib, "Gdiplus.lib") using namespace Gdiplus; /* GDI 관련 데이터 */ ULONG_PTR gdiplusToken; GdiplusStartupInput gdiplusStartupInput; INT WINAPI wWinMain(HINSTANCE hInst, HINSTNACE, PWSTR, INT) { ... // GDI+ 관련된 어떤 함수라도 사용 전에 해당 함수를 호출해야 합니다. GdiplusStartup(&gdiplusToken, &gdiplusStar.. 2020. 9. 19. [WinAPI] LParam으로부터 마우스 커서의 좌표를 얻을 때 LParam으로부터 마우스 커서의 좌표를 얻을 때 미리 정의된 매크로인 LOWORD 또는 HIWORD를 사용할 수 있다. 그러나 해당 매크로들은 모든 좌표를 unsigned 타입으로 변환한다. 보통의 시스템 환경에선 양의 좌표만 가지기 때문에 문제가 없지만, 특정 시스템 환경에선 음의 좌표를 가질 수 있기 때문에 문제가 된다. 이를 위해 헤더의 GET_X_LPARAM과 GET_Y_LPARAM 매크로를 사용할 수 있다. 음수와 양수 모두 취급 가능하며 매크로의 이름 또한 가독성이 더 좋다. 2020. 9. 16. [C++] bool 타입 변수 true/false 형식으로 출력하기 C++에서 bool 타입의 변수를 출력할 때 1/0 형식이 아닌 true/false 형식으로 출력하고 싶을 경우가 있다. 이럴 땐 의 std::boolalpha를 사용하면 된다. boolalpha는 조정자와 비슷하게 스트림에 저장이 되므로 변경하지 않는 이상 계속 유지된다. 예시) #include using namespace std; void main() { bool arr[5] = {1, 0, true, false, 1}; // cout이 bool타입의 값을 출력할 때 알파벳 형식인 true/false로 출력하도록 설정 cout 2020. 9. 13. [C++] VS2019 16.7 Ver. 안전성을 위한 새로운 코딩 규칙을 알아보자 devblogs.microsoft.com/cppblog/new-safety-rules-in-c-core-check/ New safety rules in C++ Core Check | C++ Team Blog Rust and C++ are two popular systems programming languages. For years, the focus of C++ has been on performance. We are increasingly hearing calls from customers and security researchers that C++ should have stronger safety guarantees in the language. C devblogs.microsoft.com Visua.. 2020. 9. 11. [WinAPI] 윈도우즈 프로그램에서 특정 값 확인하고 싶을 때 윈도우즈 프로그램에서 어떤 변수 또는 결과의 값을 확인하고 싶을 때가 있다. 디버거로 확인할 수 있지만 가끔 디버거로 확인하기 어려운 경우도 있다. 그럴 때 다음과 같이 사용해서 윈도우 메세지로 띄우면 된다. 다음은 숫자 타입의 값을 확인하고 싶을 때 문자열로 변경하여 메세지로 출력하는 방법이다. 문자열 출력을 원할 경우 그냥 바로 MessageBoxA() 함수에 넣으면 된다. MessageBoxA()는 두 번째 인자가 char* 타입이다. 따라서 와이드 타입의 문자열일 경우 MessageBoxW()를 사용하면 된다. 와이드 타입의 경우 std::wstring과 std::to_wstring()을 사용한다. #include VOID CheckValue() { // 숫자 타입의 값을 문자열로 변경 int x.. 2020. 9. 9. [WinAPI] 윈도우 크기 고정시키기, 리사이즈 막기 윈도우를 생성하는 함수인 CreateWindow의 인자 중 dwStyle에 해당하는 인자가 있다. 이 인자를 WS_OVERLAPPED | WS_SYSMENU 로 설정해준다. WS_OVERLAPPED 옵션은 기본 윈도우를 의미하고 WS_SYSMENU는 시스템 메뉴를 가지도록 한다는데 왜 이게 가능한지는 이해가 가지 않지만 일단은 임시 방편으로 이렇게 사용한다. 다른 방법으로는 윈도우의 조절 가능한 MIN, MAX크기를 설정할 수 있는 함수가 있는데, MIN과 MAX를 동일하게 하는 방법도 있다고 한다. 2020. 9. 7. 이전 1 ··· 16 17 18 19 20 21 22 ··· 42 다음