전체 글
[MFC] 시스템 바, 타이틀 바 크기 구하기
int iEdge; // 테두리 라인 굵기 int iHeight; //실제 높이 //테두리 사이즈를 구한다. iEdge = GetSystemMetrics(SM_CYEDGE); //테두리 사이즈를 더한 높이가 실제 높이 iHeight = GetSystemMetrics(SM_CYCAPTION) + iEdge; 출처: https://sisman.tistory.com/24
[MFC] App, MainFrame, View 클래스 호출
4대 클래스간 참조 //각각 헤더파일 include #include "MainFrm.h" //메인프레임 헤더파일 #include "ClassDoc.h" //Doc클래스 헤더파일 #include "ClassView.h" //View를 include 할때는 반드시 Doc 헤더파일이 위에잇어야한다 #include "Class.h" //APP Class 의 헤더파일 void CClassView::OnMenuView() //뷰클래스 CClassApp *pApp=(CClassApp *)AfxGetApp(); //View -> App CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd(); //View -> MainFrm //View -> MainFrm -> Doc CClassDoc *..
[MFC] 버튼 클릭시 Client Edge true로 변경
client edge 추가 ModifyStyleEx(0, WS_EX_CLIENTEDGE,SWP_FRAMECHANGED); client edge 삭제 ModifyStyleEx(WS_EX_CLIENTEDGE, 0,SWP_FRAMECHANGED); ModifyStyleEx(WS_EX_CLIENTEDGE,0); 제거를 하면 3D 처럼 보이지 않는다. Border 까지 삭제되므로 ModifyStyle(0,WS_BORDER); 옵션은 선택적으로 사용해야한다. [출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=search100&logNo=80131364993]
[MFC] 다이얼로그 소멸 순서
https://mindgear.tistory.com/117 [MFC] OnCancel(), OnClose(), OnDestroy(), OnOK() 그리고 Dialog 소멸자 예전 스프링노트에 정리했던 내용 Dialog가 종료되는 상황 IDOK 버튼을 눌렀을 때 OnOK() 호출 뒤 OnDestroy() 호출됨 IDCANCEL 버튼을 눌렀을 때 OnCancel() 호출 뒤 OnDestroy() 호출됨 Dialog의 우측 상단 종료 버 mindgear.tistory.com
[MFC] 다이얼로그 창 타이틀 바만 보이도록 하기
최소화 버튼 클릭시에 타이틀 바만 보이도록 한다. 최대화 버튼 클릭시 원래 사이즈로 돌아도록한다. 최대화, 최소화이벤트는 WM_SYSCOMMAND메시지 이벤트 함수에서 처리할 수 있다. 창 더블클릭시 창이 최소화되고 최대화되는 이벤트는 WM_NCLBUTTONDBCLICK 메시지 이벤트 함수에서 처리할 수 있다. BOOL MyDlg::OnInitDialog(){ RECT s; GetWindowRect(&s); //초기 창의 크기 width = s.right - s.left; height = s.bottom - s.top; /*시스템 바 높이 구하기*/ int iEdge; // 테두리 라인 굵기 iEdge = GetSystemMetrics(SM_CYEDGE); //테두리 사이즈를 구한다. titleBarHe..
[MFC] CFont 폰트 굵기 변경
LOGFONT lf; btn->GetFont()->GetLogFont(&lf); lf.lfWeight = bold; CFont font; font.CreateFontIndirect(&lf); btn->SetFont(&font); font.Detach(); //꼭 해줘야한다.
MFC 개념 사전 + OpenGL
[MFC] CListCtrl에 많은 항목을 추가해야할 때 속도를 향상시키는 방법 (LVS_OWNERDATA, SetItemCountEx)[MFC] CString 문자열 ( ) 속 문자열 추출[MFC] 동적 메모리 할당한 구조체의 CString형 변수 에러 [MFC] CListCtrl 팁[MFC] 다이얼로그 모달 방식 malloc 불가? [MFC] 리소스 뷰에서 컴포넌트 최상단에 위치시키기 [MFC] 스레드에서 메인스레드 ui 접근해서 상태 변경 [MFC] CSliderCtrl 을 Edit창에있는 값으로 SetPos하면 이전 위치의 흔적이 남는문제 [MFC] 다이얼로그와 클래스 연결 [MFC] CArray 동적 할당, 해제 [MFC] 버튼하나로 창 크기 조절하기 [MFC] 다른 프로그램이 켜졌을 때 윈도우..
[MFC] LNK1104 ... .exe 파일을 열 수 없습니다. 오류 대처
https://m.blog.naver.com/yo124night/221531827847 LNK1104 ... .exe 파일을 열 수 없습니다. 오류 대처 당황하지 않고 Ctrl + Alt + Del 를 눌러서 작업관리자 -> 프로세스 -> 백그라운드 프로세스에 ex... blog.naver.com
이미지 RGB 추출
https://labs.tineye.com/color/ TinEye Labs - Color Extraction Lab TinEye is an image search and recognition company. We are experts in computer vision, pattern recognition, neural networks, and machine learning. Our mission is to make your images searchable. How to use TinEye labs.tineye.com
[Kotlin] Activity, Fragment 뒤로가기 이벤트
기본적으로 뒤로가기 이벤트는 Activity에 발생한다. Fragment가 뒤로가기 이벤트를 받기위해서는 이 이벤트를 가로채기위해 콜백 함수를 등록해줘야한다. class MyFragment:Fragment(){ lateinit var callback: OnBackPressedCallback ... override fun onAttach(context: Context) { super.onAttach(context) setBackEvent() } private fun setBackEvent(){ callback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { //Fragment에서 Back했을 때 실행할 코드 call..
C에서 Fortran의 dll을 사용할때 배열인덱스는 거꾸로다.
C에서 Fortran dll을 사용해서 메모리를 참조할 때 거꾸로이다. C 참조가 arr[i][j][k] 이면 Fortran에서는 arr[k][j][i] 이다. 순서가 거꾸로라는 것을 주의할 것!
[C++] 구조체 벡터를 3차원 배열 포인터에 저장해서 사용하기
#include #include #include using std::vector; int curSortMode = 0; // 0: 오름차순, 1: 내림차순 struct ExtremaGroup{ double value; vector nodeList; ExtremaGroup(double a, vector b) { value = a; nodeList = b; } }; int main(){ vector V; int value = 10; vector a; a.push_back(100); a.push_back(200); V.push_back(ExtremaGroup(value, a)); int value2 = 20; vector b; b.push_back(300); b.push_back(400); V.push_bac..
[C++] 벡터 구조체 정렬. 오름차순, 내림차순, 같을 경우 다른 요소 기준으로 순서 지정
* #include 으로 선언해주고, sort 함수를 사용한다. * sort를 위해 구조체안에 반드시 operator d.value1; //value1을 기준으로 내림차순 정렬렬 } } }; int main(){ vector V; int value1 = 10; int value2 = 100; V.push_back(Group(value, a)); value = 20; value2 = 200; V.push_back(Group(value2, b)); value = 30; value2 = 300; V.push_back(Group(value3, c)); value = 40; value2 = 400; V.push_back(Group(value4, d)); curSortMode = 0; //오름차순 정렬을 위해 설정..
[C++] 구조체를 함수로 넘겨서 값 변경하기
#include typedef struct Person{ int value; }Person; void changeValue(Person *p){ p->value++; } int main(){ Person p1 = {1}; Person p2 = {2}; Person p3 = {3}; Person p4 = {4}; changeValue(&p1); changeValue(&p2); changeValue(&p3); changeValue(&p4); std::cout
[C++] 2차원 구조체 배열 포인터로 구조체에 접근하기
#include typedef struct Person{ int value; }Person; int main(){ Person p1 = {1}; Person p2 = {2}; Person p3 = {3}; Person p4 = {4}; int a = 2; int b = 2; Person * ptrPerson[a][b]; ptrPerson[0][0] = &p1; ptrPerson[0][1] = &p2; ptrPerson[1][0] = &p3; ptrPerson[1][1] = &p4; std::cout value
윈도우 그림판 3D로 특정 색상 변경하기
https://jigeumblog.tistory.com/60 포토샵없이 초간단 png파일 색상변경 윈도우 3D 그림판 png파일 색상을 변경하고 싶을 때가 있습니다. 배경이 없는 png파일의 특성을 살려서 이미지만 색상을 변경하고 싶은데 ㅠ 참 쉽지 않죠 ㅠ 포토샵은 할 줄 모르고.. 그림판으로 jigeumblog.tistory.com
이미지의 배경을 투명하게 만들기
https://tech-lagoon.com/imagechef/ko/white-to-transparent.html?cache=20231017074021&reloaded=true 백그라운드(혹은 지정된 색상)을 투명하게 만들기 | 무료 간단한 온라인 툴 - DataChef 업로드된 이미지의 백그라운드(기본적으로 흰색)를 투명하게 변환할 수 있습니다. 스톡 사진의 흰색 배경 제거에 유용합니다. tech-lagoon.com