본문 바로가기

개발/C++,MFC34

[MFC] 주석. 주석해제. 단축키 Ctrl + K + C 현재 커서가 위치한 행, 또는 선택한 텍스트를 주석 처리한다. Ctrl + K + U 현재 커서가 위치한 행, 또는 선택한 텍스트의 주석처리를 해제한다. 2012. 10. 12.
[MFC] error LNK2019 별다른 이유들도 많지만, 하나 확인 된 것은. 없는 함수를 호출할 때 나온다는 것이다. 다른 이유들도 확인해봐야겠다. 2012. 10. 12.
[MFC] 프로젝트에서 실행되는 다이얼로그 확인하려면 자세히는 모르겠지만 WinApp 이 기본적인 녀석이니까... class CTest : public CWinApp{ } 이런식으로 CWinApp 을 상속하는 녀석이 아닐까 싶다. 추론을 해본다면 말이다. 2012. 10. 11.
[MFC] CString compare 이거 왠지 정반대 인듯 싶다. CString a; a = "언제나 초심"; if(a.Compare("언제나 초심") == 0) { // 동일함 } 를 해야 남는다. 헐... 이게 뭐야.... 확인해보니,Not Equals 일 때에는 -1 리턴Equals 일 때에는 0 리턴 된다. 더 상세히는 동일하면 0, 짧으면 -1, 길면 1 이 리턴된다는 얘기도 있다. 길다는 건지 크다는 건지... greater than 으로 적혀 있는데...음.. 그냥 0 으로 비교한다고 기억해두는 게 좋을 듯 하다. 이거 뭔가 불편해... 참조 링크https://stackoverflow.com/questions/27273176/why-i-cant-compare-cstring-in-mfc 2012. 10. 11.
[MFC, C++] 텍스트를 투명 + 겹치지 않게 메소드 텍스트를 투명하게 하는 건 아래와 같습니다. HBRUSH CDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); UINT nID = pWnd->GetDlgCtrlID(); //글자를 투명하게 만들기 위해서. switch(nCtlColor) { case CTLCOLOR_STATIC: { if(nID == IDC_STATIC) { pDC->SetTextColor(RGB(0, 0, 0)); pDC->SetBkColor(RGB(255, 255, 255)); pDC->SetBkMode(TRANSPARENT); return (HBRUSH)GetStockObject(N.. 2012. 10. 10.
[MFC] '자식창'드래그 시 '부모창'도 드래그 LRESULT CMain::OnNcHitTest(CPoint point) { UINT hit = CDialog::OnNcHitTest(point);//포인터를 받아서 영역값을 리턴. //창 이동시 메인프레임도 같이 움직이는 동작 부분. if(hit == HTCLIENT){ CDialogEx *pDlg = reinterpret_cast(GetParent()); pDlg->SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); } return hit; } 메모해둠 *pDlg 는 포인터형이므로, Dialog 나 DialogEX 나 상속을 받고 있는 부모창의 클래스명이거나, 적절히 쓰면 될 듯 하다. 중요한 것은 GetParent() 하는.. 2012. 10. 10.
[MFC] GetDlgItem GetDlgItem(IDC_STATIC_TEST)->SetWindowText("언제나초심"); 텍스트 컨트롤 과 같은 컨트롤에서 ID 값들로 포인터를 가져오는 제공메서드 2012. 10. 10.
[MFC] 비트맵 정보 가져올 때 m_bmp.GetBitmap( &bmp ); 이러고 정보를 가져오고 사용되는 부분은 bmp.bmWidth 와 같은 형태로 쓰인다. bmType : 비트맵의 타입bmWidth : 비트맵의 너비bmHeight : 비트맵의 높이bmWidthBytes : 비트맵이미지의 한줄에 표현될 바이트수bmPlanes : 색상 면의 개수를 명시bmBitsPixel : 픽셀당 필요한 비트수를 명시bmBits : 실제 비트맵이 저장된 메모리의 시작주소값 2012. 10. 10.
[MFC] 부모창 이동 할때 쓰려고 만들었으나... GetParent()->SetWindowPos(NULL,point.x,point.y,100,100,SWP_NOSIZE); 뭔가 Fail...이동은 되는데, 원하는 곳에 넣어야 하는데...쩝 여튼 저렇게 하면, 부모가 같이 움직인다. SWP_NOSIZE 는 사이즈를 변경안하고 움직이게만 해준다. 2012. 10. 1.
[MFC] 윈도우창 드래그 이벤트 LRESULT CDialog::OnNcHitTest(CPoint point) { UINT hit = CDialog::OnNcHitTest(point); if (hit == HTCLIENT) return HTCAPTION; return hit; } HTBORDER 크기 조정이 불가능한 경계선HTBOTTOM 아래쪽 경계선. 이 부분을 드래그하여 수직 크기를 변경할 수 있다.HTBOTTOMLEFT 크기조정 가능한 윈도우의 왼쪽 아래 경계HTBOTTOMRIGHT 크기조정 가능한 윈도우의 오른쪽 아래 경계HTCAPTION 타이틀 바HTCLIENT 클라이언트 영역HTERROR 화면 배경 또는 윈도우간의 구분선에 있다. 이 부분에 있으면 DefWindowProc은 비프음을 낸다.HTGROWBOX In a size b.. 2012. 10. 1.