Language & API
Language & API/C#
2022. 10. 21.
윈도우 폼 디자이너가 사라졌을 때(나의 경우)
아래와 같이 폼이 c#으로 표시 될때 나의 경우는 Form class 위에 다른 클래스가 있는지 확인해라. 폼클래스를 지우면 아래와 같이 된다. 다시 디자이너가 살아나는것을 확인할 수 있다.
Language & API/MFC
2022. 3. 10.
다이얼로그 모달리스 생성하기
MFC 다이얼로그 생성 방식은 아래 두가지가 있습니다. 1. 모달(MODAL) 방식 - 열린 대화 상자의 제어권 및 포커스가 다른 대화 상자로는 이동하지 못합니다. - 닫아야지만 제어권 및 포커스가 이동 합니다. 2. 모달리스(MODALESS) 방식 - 열린 대화 상자 뿐 아니라 다른 대화 상자에게 포커스 및 제어권을 이동할 수 있습니다. 아래는 모달리스 대화 상자를 만들 때 사용했던 조건들입니다. 1. MAIN 다이얼로그 초기화시 다이얼로그 클래스 생성 2. 버튼을 누르면 다이얼로그 CREATE 3. 버튼을 계속 누를시 하나의 다이얼로그만 생성 4. 다이얼로그 위치 중앙 5. MAIN 다이얼로그 CLOSE 시 다이얼로그 삭제 아래 소스 카피를 위해 소스의 일부분으로 만들어 놓았습니다. 1 2 3 4 5..
Language & API/MFC
2022. 3. 10.
다이얼로그에 클래스 연결하기
다이얼로그에 클래스 연결을 가장 쉽게 하는 방법을 기록합니다. 클래스 추가에는 클래스 마법사와 클래스 추가가 있는데 클래스 추가가 더 편한것으로 확인 되었습니다. 이유는 다이얼로그를 클릭하고 클래스를 추가시 대화상자 ID가 자동으로 연계되는것을 확인 했습니다. 위와 같이 진행하면 다이얼로그와 연계된 클래스 소스가 생성됩니다.
Language & API/MFC
2021. 5. 27.
[MFC] Radio 라디오 버튼 그룹 지정해서 사용하기
1. 첫번째 그룹 RED, GREEN, BLUE 와 두번쨰 그룹 BINARY, BIN_INV, ~ TRAINGLE 으로 만들어 볼 생각이다. 2. 라디오버튼 속성에서 그룹을 만들 첫번째 라디오 버튼 과 마지막 라디오 버튼을 아래와 같이 설정한다. 3. 두번째 그룹도 동일하게 첫번째 라디오 버튼과 마지막 라디오 버튼을 설정한다. 4. 실행을 시켜 그룹이 지정되는지 확인 해보자. 5. 그룹이 지정 되면 클래스 마법사에서 그룹의 첫번째 라디오 버튼만 나오는 것을 확인 할수 있다. 6. 헤더 파일에 클릭 했을때 호출 될 함수를 만들어 준다. 7. BEGIN_MESSAGE_MAP에 아래와 같이 추가 해주도록 한다. 8. 호출될 소스도 추가 해주도록 한다.
Language & API/MFC
2021. 5. 27.
[MFC] 다이얼로그 창 크기 고정 시키기
다이얼로그 창에서 마우스로 창크기를 조정 하지 못하게 하는 방법 이다. 1. 클래스 마법사에 가서 해당 메세지를 추가 한다. 2. 현재의 내창 크기를 확인한다. BOOL CDlg::OnInitDialog() { CDialogEx::OnInitDialog(); //... CRect m_rectCurHist; this->GetWindowRect(m_rectCurHist); return TRUE; // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다. } 3. 해당 m_rectCurHist 에서 left-> 0 , top -> 0 , bottom -> 683, right -> 1129 로 정보가 나온다. 4. 크기를 구한후 처음 만들어진 함수에서 크기를 집어 넣으면 된다. m_rectCurHist.ri..
Language & API/C++
2021. 5. 26.
콜백 함수 예제
콜백함수를 내가 사용하는 이유는 멀리있는 함수를 연결하여 현재 지점에서 사용하고 싶을 때 또는 현재 함수를 멀리 줄때 이용한다. 즉 함수를 꾸며 주는 모양은 간단하나 그 응용 부분은 설계적인 부분이 포함되어야지만 잘 사용할수 있다. 아래 예제는 부모 다이얼로그에서 자식 다이얼로그를 생성하고 자식 다이얼로그에서 부모의 Funtion을 활용할때다. 자식 다이얼로그에 콜백함수 등록 void (*callback_fun)(int, int, int, int, int, int); void -> 반환될 값 callback_fun -> 함수 이름 (int, int, int, int, int, int) -> 매개변수 부모 다이얼로그에서 자식 다이얼로그를 만들고 부모 함수를 연결만 해주면 된다. dlg = new setti..
Language & API/MFC
2021. 5. 26.
MFC Slider Control(슬라이더 컨트롤) 사용법
OPENCV를 MFC에서 테스트 중 슬라이더 콘트롤을 사용하는 일이 생겼다. ** 예는 Range Setting 할때 사용 위와 같이 만들면 UI 구성은 끝났다. 처음 로딩 될때 UB UG UR 은 255로 DB DG DR은 0으로 세팅으로 진행하며 스크롤이 움직일때 텍스트 박스에 표시를 해주려 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ui_slider_set(&m_slider_ub); ui_slider_set(&m_slider_ug); ui_slider_set(&m_slider_ur); ui_slider_set(&m_slider_db); ui_slider_set(&m_slider_dg); ui_slider_set(&m_slider_dr); m_s..
Language & API/MFC
2021. 5. 26.
[MFC] Console 창 뛰우기
MFC에서 printf 출력을 콘솔 화면에 보고 싶을때가 있다. 필자는 거의 프로그램을 짤때 이용하는 편이다. 아래와 같이 Stdafx.h 에 넣어두면 좋다. 1 2 3 4 5 6 7 8 9 10 // stdafx.h : 자주 사용하지만 자주 변경되지는 않는 // 표준 시스템 포함 파일 및 프로젝트 관련 포함 파일이 // 들어 있는 포함 파일입니다. #pragma once #pragma comment(linker, "/entry:wWinMainCRTStartup /subsystem:console") #ifndef VC_EXTRALEAN #define VC_EXTRALEAN // 거의 사용되지 않는 내용은 Windows 헤더에서 제외합니다. #endif Colored by Color Scripter cs ..
Language & API/Boost
2018. 2. 7.
Boost 라이브러리 설치[1번]
이전 블러그에서 Boost 다운로드를 하는 방법을 두가지로 설명을 하였습니다. 이번에는 1번 방법으로 설치를 해보도록 하겠습니다. 1번 링크로 다운을 받았다고 가정 후 설명입니다. 먼저 압축을 푼 후 다음과 같이 명령어로 창에서 실행시켜 봅니다. bootstrap.bat 파일을 실행시키면 해당폴더에 b2.exe 와 bjam.exe가 생성됩니다. 저는 b2를 이용해서 boost를 컴파일해 라이브러리를 만들 것 입니다. 아래는 b2 파라미터를 정의 해놓은 페이지입니다. 명령어는 CMD 창에 넣으면 컴파일이 진행되어집니다.