190628(5일차) 정처기 시험준비하느라 수업을 잘 듣지 못한 날. 복사생성자 처음 초기화를 복사로 함. 복사 대입 연산자 원래 만들어진 곳에 대입 (참조면 delete 필요) 개체는 독립성을 가져야한다. 복사 생성자의 원형 String(const String& arg) { } DrawText(hdc, msg, -1, &rt, DT_CENTER|DT_VCENTER|DT_SINGLELINE); GetClientRect(hwnd, &rt) 윈도우의 생성정보를 유지하는 메모리 블록이 있다. 메모리 블록을 컨트롤 하는 것이 핸들. 사용자가 메모리 블럭을 만들어 낼 수 있다. (각 윈도우 마다 만들 수 있다.) cbClsExtra 를 사용하면 된다. 또는 cbClsExtra. WndClass.cbWndExtra..
190627(4일차) - 다이얼로그 윈도우, 자식윈도우, 컨트롤 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. 다이얼로그윈도우 자식윈도우 컨트롤 응용 프로그램 메뉴 클릭시 WM_COMMAND 가 발생된다. wParam의 LOWORD에서 어떤 메뉴가 눌렸는지 알 수 있다. 프로시저(핸들러) : 메세지를 처리하는 함수 MVVM : 모델뷰 뷰모델 현윈도우 외 다른 영역에서 마우스가 떼졌을 때 좌표가 필요하다면, 마우스캡쳐가 필요하다. SetCapture(①); //DOWN메세지에서 ①: 어떤 윈도우가 캡쳐받을 건지 (hwnd 등) ReleaseCapture(); //UP메세지에서 이 때 우리가 하는 실습 네모그리기에서 화면 밖 영역에서 마우스를 놓게되면, 마이너스 값을 갖게된다. 8비트 였던..
[Win32] Modal dialog Modeless 대화상자(생성 및 사용법) 윈도우에서 생성할 수 있는 다이얼로그(대화상자) 종류에는 모달 다이얼로그와 모달리스 다이얼로그가 있다.모달 다이얼로그는 다른 곳으로 포커스가 가지 않으며 예시로는 메모장에서 다른이름으로 저장하기를 눌렀을때, 포커스가 다른이름으로저장하는 윈도우에 맞추어지며 메모장으로 포커스를 돌릴 수 없다. 반드시 저장이나 취소를 해주어야 다시 부모윈도우로 돌아온다.Modal dialog 생성방법 모달 다이얼로그는 DialogBox 함수로 생성할 수 있다.첫번째 인자 : 커널이 윈메인에 부여해준 hInstance 두번째 인자 : 생성하려는 다이얼로그의 ID를 MAKEINTRESOURCE로 생성해준다. 세번째 인자 : 부모 핸들 네번째 인자 :..
LB_SETCURSEL (win32 api)필요한 경우 문자열을 선택하고 스크롤하여 뷰로 나타낸다.새 문자열을 선택한다면, 리스트박스가 이전에 선택된 문자열에서 선택푯를 제거한다. 파라미터wParam : 선택한 문자열의 0기반 인덱스를 설정한다. -1인 경우에 목록에서 선택한 항목이 없게함.lParam : 사용하지 않음. 사용예리스트박스에 어느 백터를 출력하는 경우에, 벡터에 자료가 추가될 때마다 리스트 박스가 업데이트 되며 리스트박스의 크기를 넘어가면서 추가가 되는경우에 스크롤을 함께 내리며 출력되게 하고 싶을 때 사용했다.추가적으로 만약에 스크롤 되어질때 강조표시(파란배경)이 뜨는 것을 보기 싫다면 추가적으로 호출하고SendMessage(GetDlgItem(hwnd, IDC_LIST1), LB_SET..