소연의_개발일지
[C++ MFC] CTime 클래스 시간 형식 예시
개발공부/C++ 2024. 11. 12. 15:16

CTime 클래스는 MFC(Microsoft Foundation Class) 라이브러리에서 날짜와 시간을 관리하는 데 사용된다.CTime 객체를 특정 형식으로 포맷하려면 Format 함수를 사용하면 된다.(문자열로 변환해 줌) 주요 형식 코드는 다음과 같다.%a : 요일 이름의 축약형 (예: Mon, Tue)%A : 요일 이름 (예: Monday, Tuesday)%b : 월 이름의 축약형 (예: Jan, Feb)%B : 월 이름 (예: January, February)%d : 일 (01 ~ 31)%m : 월 (01 ~ 12)%y : 연도의 마지막 두 자리 (00 ~ 99)%Y : 연도 (예: 2024)%H : 24시간 형식의 시간 (00 ~ 23)%I : 12시간 형식의 시간 (01 ~ 12)%M : 분..

article thumbnail
[C++ MFC] 다이얼로그 창 항상 앞으로 띄우기, 주기적으로 창 앞으로 띄우기
개발공부/C++ 2024. 11. 5. 11:36

다이얼로그 창 항상 앞으로 띄우기 다이얼로그 속성에서 "System Modal" 를 "True""Topmost"를 "True" 로 설정한다.     주기적으로 창 앞으로 띄우기작업자들이 다른 창 띄우고 사용하다가 자리를 뜨면.. 현장에서 사용하는 메인화면을 가리기 때문에 필요했던 기능이다.다른 방법도 있겠지만 난 타이머를 사용해서 구현했다. 1. 헤더에 타이머 타이머에 쓸 define정의#define TIMER_DIALOG_ON_TOP 20241105 2. OninitDialog에 타이머 선언(필요시 여기서 들어가는 5 단위를 에딧박스로 만들면 된다)SetTimer(TIMER_DIALOG_ON_TOP, 5 * 1000 * 60, nullptr); // 5분에 한번씩 주기적으로 타이머 실행1초는 100..

article thumbnail
[Visual Studio c++] region 및 endregion / pragma 코드블럭 지정하기
개발공부/C++ 2024. 9. 27. 15:38

#pragma region에서는 Visual Studio 편집기의 개요 기능을 사용할 때 확장하거나 축소할 수 있는 코드 블록을 지정할 수 있습니다. 구문#pragma region이름 #pragma endregion주석#pragma region 이름#pragma endregion 주석  예시  이렇게 시작할 지점, 종료 지점에 이름과 주석을 각각 표시해 준다. 그럼 이렇게 접을 수 있다!  마이크로소프트에서 제시한 예시 👇// pragma_directives_region.cpp#pragma region Region_1void Test() {}void Test2() {}void Test3() {}#pragma endregion Region_1int main() {}  출처https://learn.micr..

article thumbnail
[C++ MFC] DeleteFile로 파일 삭제, Deletefile로 삭제 안 될때 오류코드
개발공부/C++ 2024. 9. 10. 13:53

DeleteFile() 함수는 Windows API에서 파일을 삭제할 때 사용하는 함수입니다.이 함수는 지정된 파일을 삭제하고 성공 여부를 반환합니다. 주요 요소인자 (Parameters):DeleteFile() 함수는 하나의 인자를 받습니다. 이는 삭제할 파일의 경로를 나타내는 문자열(LPCWSTR 또는 LPCTSTR)입니다.경로는 절대 경로 또는 상대 경로일 수 있으며, 유니코드 문자열(L"")로 표현해야 합니다.반환값 (Return Value):성공 시: TRUE를 반환.실패 시: FALSE를 반환하며, GetLastError()를 통해 오류 정보를 확인할 수 있습니다. 사용 예시#include #include int main() { // 삭제할 파일 경로 (예: "C:\\path\\to\\f..

article thumbnail
[C++ MFC] 창 최소화/최대화/작업표시줄로 내리기
개발공부/C++ 2024. 8. 5. 13:33

최소화 하기 1. 다이얼로그 우클릭 - 속성 클릭 2. 속성 창 - 모양 - minimize box 를 True로 바꿔줌실행시켜도 최소화 창만 활성화~~  최대화 하기1. 다이얼로그 우클릭 - 속성 클릭 2. 속성 창 - 모양 - maximize box 를 True로 바꿔줌  끝!!

[C++] csv 파일 쓰기
개발공부/C++ 2024. 7. 22. 14:05

추가 예정   예시 코드// 헤더에 작성// 헤더에 추가할 파일CFileManager m_FileManager  // cpp 원하는 함수에 추가CString strTime;CStdioFile file;CString strpath;CString strFile;CString strData;// 로컬 타임 가져오기SYSTEMTIME cur_time;GetLocalTime(&cur_time);strTime.Format(_T("%04d%02d%02d%02d%02d%02d%03ld"), cur_time.wYear, cur_time.wMonth, cur_time.wDay, cur_time.wHour, cur_time.wMinute, cur_time.wSecond, cur_time..

[Git] 에디터 변경하기
개발공부/Git & Git gui 2024. 5. 30. 17:03

git bash 창에 아래와 같이 입력git config --global core.editor "'{변경하고싶은 exe 경로}' -multiInst -nosession"  예시git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -multiInst -nosession"  메모장이나 비쥬얼 스튜디오 보다 notpad++가 나았다.

article thumbnail
[C++ MFC] Tray 기능 사용하기, 예제코드
개발공부/C++ 2024. 5. 28. 14:23

Tray 기능이란?윈도우의 트레이 영역(우측 하단)에 아이콘을 등록하여 백그라운드작업의 상태를 확인하거나 간단하게 컨트롤 할 수 있다. Tray 주요 함수와 속성 -  Shell_NotifyIcon(DWORD dwMessage, PNOTIFYICONDATA pnid )매개변수로 속성ID와 NOTIFYICONDATA 구조체를 가진다. -  DWORD dwMessage속성 ID내 용NIM_ADDTray영역에 등록NIM_DELETETray영역에서 제거NIM_MODIFY상태를 수정 -  PNOTIFYICONDATA pnid구조체 멤버내 용DWORD cbSize구조체의 크기HWND hWnd해당 Tray를 소유한 핸들UINT uIDTray의 IDUINT uFlagsTray가 가지는 속성UINT uCallbackMe..

article thumbnail
[git Extensions] Korean 한국어 언어 변경하기
개발공부/Git & Git gui 2024. 5. 2. 01:23

아니 git Extensions 한국어가 없다는게 말이 되는가?해서 열심히 구글링했다. !!뭐가 있긴 있구나 그런데 적용 방법도 안알려주는 이 불친절함 ^^그래서 일단 저 두 파일을 다운받았다.어디에 때려박으면 적용되겠지  밑의 두 파일을 다운받는다.  그리고 git Extensions를 C 폴더에서 검색하니까Translation 폴더가 나왔다. 경로는"C:\Program Files (x86)\GitExtensions\Translation" 여기에 위 두 파일을 복사 - 붙여넣기 한다. 그리고 git Extensions를 재실행하고ctrl + , 눌러 설정을 들어간다.  (도구 - Settings)Git Extensions → Appearance → Language 를 Korean으로 변경해 주면 된다...

article thumbnail
[C++ MFC] 다이얼로그 배경색 변경
개발공부/C++ 2024. 4. 16. 15:38

다이얼로그 배경색 변경 ctrl + shift + X 로 클래스 마법사에 들어간다. 해당 클래스 → 메세지 → WM_ERASEBKGND 를 더블클릭하여 추가한다. 아래 코드를 추가한다. // 다이얼로그 색 변경 BOOL CMultiClientChart::OnEraseBkgnd(CDC* pDC) { CRect rect; GetClientRect(rect); pDC->FillSolidRect(rect, RGB(0, 0, 0));// 변경하고 싶은 색상 RGB색 return TRUE; return CDialogEx::OnEraseBkgnd(pDC); } 끝~~~