소연의_개발일지
[MFC] 버튼 활성화 비활성화
개발공부/C++ 2023. 11. 21. 14:20

1. 컨트롤 변수의 경우 OnBnClickedRadioScaling70.EnableWindow(FALSE); // TRUE: 활성, FALSE: 비활성 // 컨트롤_변수_이름.EnableWindow(FALSE); 2. 버튼의 ID인 경우 GetDlgItem(IDC_RADIO_SCALING_70)->EnableWindow(true); 적용 예시 체크박스가 눌러져 있을 때 라디오 버튼 활성화/ 비활성화 코드 예시 void CDlgAdminSetting::OnBnClickedCheckSummaryDataAddSave() { UpdateData(true); // 라디오 버튼 활성/비활성화 if (m_bUseDataAddSave == true) { GetDlgItem(IDC_RADIO_SCALING_140)->E..

[Python] 코딩테스트 백업용
공부_백업용 2023. 9. 22. 09:29

리스트 평균값 구하기 def solution(numbers): sum = 0 for i in numbers: sum += i answer = sum / len(numbers) print(answer) return answer 더 간단한 방법 def solution(numbers): return sum(numbers) / len(numbers) numpy 사용 import numpy as np def solution(numbers): return np.mean(numbers) 짝수 홀수 갯수 구하기 나의 풀이 def solution(num_list): list1 = [n for n in num_list if n % 2 == 0] list2 = [n for n in num_list if n % 2 != 0]..

article thumbnail
[C++] 쓰레드 생성, 이미지에서 픽셀 갯수 세기
개발공부/C++ 2023. 9. 20. 20:58

쓰레드 쓰레드 구문 #include detach()는 결과값을 기다리지 않고 다음 코드를 실행시키는 함수이다. join은 다른 쓰레드들이 끝날 때까지 기다려서 합친 후 실행시킨다. 쓰레드 개념을 공부하기 위해 따로 정리해 보았다. [C++] 멀티 쓰레드, 프로세스, 쓰레드 이해하기, C++ 예제 쓰레드 공부 공부 출처: 모두의 코드 C++ 쓰레드 https://modoocode.com/269 씹어먹는 C ++ - 모두의 코드 씹어먹는 C ++ - 작성일 : 2019-04-01 이 글은 115087 번 읽혔습니다. 에 대해 다룹니다. 안녕하세요 여러 giveme-happyending.tistory.com 전체 코드 함수 인클루드 #include "Process.h" // 프로세스 정보를 가져옴 #inclu..

article thumbnail
[C++] 멀티 쓰레드, 프로세스, 쓰레드 이해하기, C++ 예제
개발공부/C++ 2023. 9. 20. 20:55

쓰레드 공부 공부 출처: 모두의 코드 C++ 쓰레드 https://modoocode.com/269 씹어먹는 C ++ - 모두의 코드 씹어먹는 C ++ - 작성일 : 2019-04-01 이 글은 115087 번 읽혔습니다. 에 대해 다룹니다. 안녕하세요 여러분! 이번 강좌에서는 여태까지 modoocode.com 이 페이지를 스스로 공부하기 위해 요약한 것입니다. 자세한 내용은 위 링크를 참고하세요. 멀티 쓰레드 프로그램 작업 관리자 프로그램에는 여러 프로세스들이 실행되고 있는 모습을 확인할 수 있다. 프로세스란, 운영체계에서 실행되는 프로그램의 최소 단위라고 보면 된다. 즉, 우리가 1개의 프로그램을 가리킬 때 보통 1개의 프로세스를 의미하는 경우가 많다. 이 프로세스들은 컴퓨터의 두뇌라고 하는 CPU의 ..

article thumbnail
[C++] MFC 다이얼로그 중심에 원 그리기
개발공부/C++ 2023. 9. 20. 15:03

라인에딧 값을 가져와서 검은 원을 그리는 코드를 그리며 공부해 보았다. 전체 코드 using namespace std; void CProDrawCircleDlg::OnBnClickedButton1() { CClientDC dc(this); // 라인에딧 값 가져오기 = 원의 반지름 가져오기 CString mText; mEdit.GetWindowText(mText); int r = _wtoi(mText.GetBuffer()); // 반지름 mText.ReleaseBuffer(); cout 0730(목) 강좌 리뷰~ 함수 vs 매크로 함수 : 함수는 분기(call)가 일어나서 실행된다.매크로 : 매크로에 지정된 루틴이 매크로가 사용된 지점(inline 키워드 사용)에 치환된다. 성능차이 - Size : Sp..

[C++] <chrono> 헤더 사용하여 함수 실행시간 측정
개발공부/C++ 2023. 9. 19. 21:38

chrono 헤더 사용하여 c++ 함수 측정 시간을 측정하기 다음은 간단한 예제이다. #include #include // 시간 관련 기능을 포함하는 헤더 void someFunction() { // 이 함수에서는 1초 동안 멈춥니다. 실제 코드에서는 당신의 함수 로직을 넣어주세요. std::this_thread::sleep_for(std::chrono::seconds(1)); } int main() { // 시작 시간 측정 auto start = std::chrono::high_resolution_clock::now(); // 함수 실행 someFunction(); // 종료 시간 측정 auto stop = std::chrono::high_resolution_clock::now(); // 경과 시간 계..

article thumbnail
[C++] 여러 조건 변경하기, Cpen 색 변경, define
개발공부/C++ 2023. 9. 19. 20:26

참고 링크: https://www.youtube.com/watch?v=e6ivB-FQo_k&list=PLlIX4lkC1JdMx-vfK8I-J3-L-GL7TbMf9&index=11&pp=iAQB 초기값 어둡게 하기 변경한 부분 0으로 변경 memset(fm, 0, nWidth * nHeight); 밝기 부분 255로 나눠주기 // 점찍기 for (int k = 0; k < 100; k++) { int x = rand() % nWidth; int y = rand() % nHeight; fm[y * nPitch + x] = rand()%0xff; // 각각의 밝기에 대해서 255(0xff)로 나눠준다. } 좌표의 픽셀 값이 0이 아닐 경우로 바꿔주기 if (fm[j * nPitch + i] != 0) // 찍..

article thumbnail
[C++] MFC 다른 윈도우로 포인트 복제하기
개발공부/C++ 2023. 9. 18. 21:19

이미지 오버레이로 그림 그리기 메모리 릭 제거하기 메모리 릭을 막기 위해 새로 생성한 m_pDlgImgResult 에 대해서도 생성 후 삭제를 해 준다. 안전하게 존재하는지 if문을 걸어 작성해 준다. // 메모리 릭을 막기 위해 생성된 void CgPrjDlg::OnDestroy() { CDialogEx::OnDestroy(); if(m_pDlgImage) delete m_pDlgImage; if(m_pDlgImgResult) delete m_pDlgImgResult; } 타원 그리기 자식 다이얼로그에 타원을 그리는 코드를 만들어 볼 것이다. 먼저 헤더 폴더에 함수를 drawData를 정의해 주고 선언만 해 줬으니 cpp 파일에서 정의를 해 준다. CDlgImage 클래스 안에 있어야 하니 CDlgIm..

article thumbnail
[C++] MFC 듀얼이미지 다이얼로그
개발공부/C++ 2023. 9. 18. 20:09

참고 링크: https://youtu.be/EoXP_PH0xzA?list=PLlIX4lkC1JdMx-vfK8I-J3-L-GL7TbMf9 github에서 중간단계 파일 받기 위 영상 출처) github에서 gLim-main/mfcExam 검색 후 다운받기 새 다이얼로그 이미지 만들기 헤더 이동 단축키 Ctrl + O + K DlgImage.h 파일에서 이미지 변수를 만들어 준다. CImage m_Image; // 이미지 변수를 만든 것 그리고 변수만 선언을 해준것이기 때문에 cpp 파일에서 실체를 만들어줘야 한다. ctrl + K + O 로 다시 cpp 파일로 돌아가서 initial dialog를 생성해 준다. 다이얼로그가 생성될 때는 항상 initial dialog를 콜(호출)하기 때문에 이 부분이 선행..

article thumbnail
[C++] MFC 모달리스 다이얼로그 생성하기
개발공부/C++ 2023. 9. 18. 17:16

공부 영상 출처: https://youtu.be/Rwu9BI6Jizs?list=PLlIX4lkC1JdMx-vfK8I-J3-L-GL7TbMf9 영상에 있는 소스코드를 다운받아 프로젝트를 현재 깃허브 프로젝트 하단에 넣었다. 모달리스 다이얼로그 추가하기 클래스 마법사 단축키 ctrl + shift + X 클래스 마법사 단축키 [ctrl + shift + X] 혹은 [프로젝트] → [클래스 마법사] 를 클릭하여 클래스 마법사로 들어간다. [클래스 추가] - [MFC 클래스]를 눌러 클래스를 추가해 준다. 클래스는 다이얼로그 형태로 띄울 것이니 CDialogEx로 선택, 클래스 이름은 CDlgImage로 작성해 주었다. [확인]을 눌러 클래스를 생성한다. 리소스 뷰에 IDD_DLGIMAGE로 생성된 항목이 존재..