VC++ SQL 접속(윈도우 서비스 프로그램)

기존에 사용하고 있던 응용프로그램을 윈도우 서비스 프로그램으로 변경하고 나서, 정상적으로 동작 하던 SQL Server 접근에서 오류가 발생했습니다. 결국 문제를 해결했습니다. 간혹 프로젝트를 수행하다 보면 이전에 만들어 놓은 소스를 그냥가져다 사용하면서 비슷한 실수와 시행착오를 종종 격게…

MFC 버튼 그리기 CDC::Draw3dRect

아무래도 기억력이 떨이진게 사실이다. 사소한 것 인데도 기억이 흐릿하다.  항상 메모를 해 두어야 겠다. CDC::Draw3dRect 는 가운데가 비어있는 사각형의 테두가 있는 사각형을 그린다. void Draw3dRect( LPCRECT lpRect, COLORREF clrTopLeft, COLORREF clrBottomRight ); void Draw3dRect( int…

MFC 리스트의 열 높이 조절(Resize Row Height of CListCtrl)

리스트 컨트롤에서 높이를 조절하기 위해서는  MeasureItem에서 높이를 설정한다. LPMEASUREITEMSTRUCT 의 itemHeight 를 지정하여 높이를 변경할 수 있다. 먼제 Message르 매핑한다. Head 파일 protected: //{{AFX_MSG(CMyList) afx_msg void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct); //}}AFX_MSG DECLARE_MESSAGE_MAP() Cpp 파일 BEGIN_MESSAGE_MAP(CMyList, CListCtrl) ON_WM_MEASUREITEM_REFLECT() END_MESSAGE_MAP()…

Loading JPEG and GIF pictures

Picture This article provides source code in order to read and display JPEG and GIF pictures using no third-party library at all. Both MFC and non-MFC source code is provided as to fit the largest…

Serialize를 이용한 객체 복사하기 (Copy constructor)

1.요약 CRect나 CString같은 클래스는 obj2 = obj1과 같은 객체끼리 복사가 지원됩니다. 이러한 객체는 ‘=’연산자를 오버로드 했기때문에 가능한데 ‘=’연산자를 오버로드하여 적절한 처리를 하지 않으면 obj2 = obj1과 같은 객체복사를 사용할 수 없습니다. 지금 설명할려는 객체복사는 CObject로부터…

MFC 문자열 배열 상수(#define CString[]),#define 문자열

문자열을 배열을 상수 또는 전역변수로 선언하는 방법이 없을까? 문자열을 배열을 선언하는 방법은 CString mArr[]={“One”,”Two”,”a”,”b”,”c”,”1″,”2″}; CString mArr[5]; mArr[0]=”One”; mArr[1]=”Two”; mArr[2]=”a”; mArr[3]=”b”; ……….. 와 같이 주로 사용한다. 이부분을 #Define StringArray{“One”,”Two”,”a”,”b”,”c”,”1″,”2″} 과 같이 선언해놓고(//문자열배열로 선언, 실제동작하지 않음) printf(StringArray[2]);//결과과 “a”…

CImageList에서 Bitmap 추출하여 Menu에 이미지 달기

CImageList에 저장된 그림을 불러오는 방법을 알아보자. 리소스에 그림과  같은 이미지가 있다면. CImageList  m_imgList; m_imgList.Create(IDB_STATUS, 16, 16, RGB(255,0,255)); 와 같이 이미지에서 16 *16 Size의 이미지를 리스트로 불러올 수 있다. 그리고 CListCtrl m_List; m_List.SetImageList(&m_imgList,LVSIL_SMALL); 리스트 컨트롤에 추가하여 이미지를…