개발/mfc 썸네일형 리스트형 [mfc] DLL 없이 static library 사용, (컴파일 에러 C1189) 1. 설명 일반적으로 mfc 에서 프로젝트를 생성하면, - "Use MFC in a Shared DLL" : 공유 DLL 을 사용 한다. 이렇고 만들어진 실행 파일을 실행 할때는 실행 파일만 필요 한게 아니고, mfc42d.dll, mfco42d.dll, msvcirtd.dll, msvcrtd.dll 등 DLL 파일이 "system32" 폴더 아래에 있어야 합니다. 또는 컴파일 했던 Visual Sudio 버전에 맞는 RTL 를 설치 해야 한다. 즉 베포 할때 실행파일 및 RTL 도 같이 하고, 설치 하라는 둥 복사하라는 둥 귀찮다 .. 그래서 -"Use MFC in a Static Library" 로 선택 하면 실행 파일 사이즈는 조금(5M 정도) 커지나. 뭐 더 달라고 하지 않아 편하다. 2. 방법 .. 더보기 [MFC] List control 만들기, 목록 지우기 [MFC] List control > 만들기 > 목록 만들기 > 행 추가 > 행 개수 가져오기 > 행값 가져오기 > 1 행 삭제 > 지우기 ======================== > 만들기 1) 도구상자에서 리스트 컨트롤을 선택 3) 리스트 컨트롤의 속성에서, View 속성을 Report로 변경 4) List Control 의 멤버변수를 클래스마법사에서 추가 m_List1 > 목록 만들기 >> 리스트 컨트롤의 초기화 코드를 작성 void CLanMgrDlg::initList( CListCtrl *pLc ) { CRect rt; // 리스트 컨트롤의 크기를 가져올 변수 pLc->GetWindowRect(&rt); pLc->SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_F.. 더보기 [MFC] Dialog 최소화, 최대화 버튼 만드는 법 Dialog 최소화, 최대화 버튼 만드는 법 1. 다이얼로그에서 마우스 오른쪽 버튼 클릭2. Property 선택3. Minimize Box 또는 Maximinze Box 선택 더보기 mfc, enter, esc key 처리 mfc 에서 enter, esc key 를 따로 처리 하고 싶으면, 아래 코드 넣으면 된다. ~.h public: BOOL PreTranslateMessage(MSG* pMsg); ~.c BOOL CDlg_Main::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) {//키 눌리면, // VK_RETURN : Enter Key // VK_ESCAPE : ESC key switch (pMsg->wParam) { case VK_RETURN: OnBnClickedBut_OpenVDS(); case VK_ESCAPE: return TRUE; default: break; } } return CDialog::PreTranslateMessage(pM.. 더보기 mfc: CString 비교 - 작업중 ※요약 Compare : 대소문자를 구분하여 문자열을 비교한다. CompareNoCase : 대소문자를 구분하지 않고 문자열을 비교한다. ※특징 operator ==, !=, , = 도 대소문자를 구분하여 CString의 문자열을 비교할 수 있으며 C언어 함수 중 strcmp, strncmp, stricmp, strnicmp 등과 비슷하다. 또 한 비교는 아스키코드를 기준으로 비교하므로 아스키코드표를 참고하면 된다. ※함수 원형 및 설명 int Compare( LPCTSTR lpsz ) const; int CompareNoCase( LPCTSTR lpsz ) const; //lpsz : NULL로 종결되는 비교할 문자열 //반환값 : 문자열이 lpsz보다 작을 경우 -1 // 문자열이 lpsz와 같을 경.. 더보기 mfc, button 바닦에 빛깔 입히기 색 변경 sample source 작성중 1.먼저 이벤트를 만들기 전에 Button의 속성중에서 "Style - Owner Draw(동작 - 소유자 그리기)"를 true로 해주어야합니다. 2. ~.h 에 추가 할거public:afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct); 3.~.pp 에 추가 할거 BEGIN_MESSAGE_MAP(CDLG_Task, CDialog)// 생략// ON_WM_CTLCOLOR()ON_WM_DRAWITEM() // OnDrawItem() 에 필요// 생략END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////// Button Co.. 더보기 Mfc EditBox 글자 지우며 마지막에 쓰기, sample source Mfc EditBox 글자 지우며 마지막에 쓰기 멤버 변수 이용 한 거 입니다. editbox 최대값(별도 설정 없으면 30000)이 인데 , 글자 수가 29000 보다 크면, 앞 1000 개 지우는 거 입니다. CString cS;cS.Format(_T("HaHaHa"));nLength = m_EditData.GetWindowTextLength(); // 현재 길이 가져 오기,if ((nLength + 1000) > m_EditData.GetLimitText()) { // 최대 (별도 설정 없으면 3만) 에 근접하면, m_EditData.SetSel(1, 1000, NULL); // 처음 부터 1000 개 선택 m_EditData.Clear(); // 1000개 지운다 nLen.. 더보기 [mfc] UDP,TCP server, client sample source 작업중 퍼와서 VS 2010 으로 수정 한거 입니다. 버그가 있는 거 같기도 .... 1. UDP Server (receiver) timer 를 써서 반복하여 왔는지 확인 하여 edit box 에 표출 2. UDP Client (sender)반복 하여 보내는 거 했더니 브로드 캐스트에서 안보내 지는 현상 생기네..뒤적거려 보니 sendto 함수 뒤에 반드시 recvfrom 가 한번은 있어야 하는 군...https://andjjip.tistory.com/283 근데 이상 하게 recvfrom 를 스레드로 돌리면 한번 이상 받는 거 아닌가 ?뭐 어째든 한번 보내면 포트 클로즈 하고, 다시 시작함..즉 보낼때마다 포트 열어 보내고, 받기 한 다음 닫기 함.근데 혹시 보낸 다음 계속 응답 오는거 처.. 더보기 이전 1 2 3 4 5 다음