본문 바로가기
반응형

C & C++444

CListCtrl 에 이미지(tga, png, jpg, tif, bmp) 컨트롤 하기 왼쪽의 리스트 컨트롤에 이미지를 등록하고, 더블 클릭하면 오른쪽의 창에 띄우기. 지원하는 포멧은 tga, png, jpg, tif, bmp 이다. Gdiplus 를 이용했다. 왼쪽 CListCtrl 대신에 CImageListControl 를 사용해야하고, 오른쪽은 IDC_STATIC 인데.. CImageArea로 선언해야 한다. ---------------------------------------------------------------------------------------------- 어디선가 받은 오픈소스인데 세팅하는 방법이 너무 복잡해서, CListCtrl 상속을 받아서 외부에서 선언만 하면 띄울수 있게 만들었다. #include using namespace Gdiplus; #pragma .. 2011. 4. 28.
CFileDialog::GetFolderPath() 에러 대처법 if(pDlg.DoModal() == IDOK) { CString str = pDlg.GetFolderPath(); } 위의 코드에서 GetFolderPath()를 부를 경우 에러가 발생한다. 윈도우가 존재 하지 않는다는 이유로.. 아마도 확인을 누르는 순간 데이터만 남고 윈도우는 죽어버리기에 일어나는 현상같다. 이에 GetPathName()로 대체해서 사용하려 하는데.. "파일명"이 너무 맘에 안들것이다. 그래서 이러한 코드로 대체하자! if(pDlg.DoModal() == IDOK) { CString str = pDlg.GetPathName(); CString strFolderPath = str.Mid(0, str.ReverseFind('\\')); } 이렇게 하면 파일명을 제외한 절대경로를 가져와 .. 2011. 4. 28.
[Tab] 탭 설정 제작내용 : 툴을 위한 탭 설정하기 제작방법 : 3개의 Dialog(지형,텍스쳐,오브젝트)를 생성후에 ControlView에 Tap Control을 만들고 생성된 3개의 Dialog와 연결시킵니다. 1. 다이알로그 생성하기(지형, 텍스쳐, 오브젝트) 리소스뷰를 선택후 Dialog를 오른쪽 버튼으로 클릭한후 Dialog 삽입을 누릅니다. 그럼 위의 사진 오른쪽처럼 Dialog가 생성됩니다. 생성된 Dialog를 클릭후 오른쪽 버튼을 눌러서 속성을 클릭합니다. 위의 사진에 파란색라인에 보이듯이 속성창이 보여집니다. 속성창에 ID를 선택후 IDD_DLG_MAP으로 ID를 변경합니다. 속성창의 Border와 Style의 내용을 변경합니다. 그럼 Dialog모양이 오른쪽 위처럼 바뀝니다. Dialog창을 더블클릭.. 2011. 4. 28.
[Button] 버튼에 아이콘, 이미지 적용 2 IntroductionThis article describes FooButton, a lightweight owner-drawn button class that's served me well for several years. Although there are plenty of other excellent button classes at CodeProject, I thought I'd add this trusty friend to the pile in the hope that someone may find it equally useful. FeaturesFooButton lets you use a vanilla CButton as a: standard pushbutton pushbutton button w.. 2011. 4. 28.
프린트 인쇄 관련 초기화 정보 DevCap 예제에서 프린터의 이름을 구할 때 잠시 DEVMODE 구조체를 참조하였는데 이 구조체에 대해 자세하게 알아 보자. 이 구조체는 프린터의 초기화 정보와 환경에 대한 정보를 가지는데 프린터에 관련된 모든 정보를 다 가지고 있는 아주 중요한 구조체이며 또한 프린터의 설정 상태를 프로그램이 강제로 바꾸는 수단으로 활용된다. 이 구조체를 정복해야 프린터를 마음대로 요리할 수 있다. 이 구조체는 여러 가지 방법으로 구할 수 있는데 EnumPrinters 함수로 프린터를 열거할 때 구해지는 PRINTER_INFO_2 구조체에도 포함되어 있으며 OpenPrinter 함수로 프린터의 핸들을 구할 때 같이 구할 수도 있다. 또한 인쇄 공통 대화상자 호출시 PRINTDLG 구조체의 hDevMode .. 2011. 4. 28.
[Tip] 모니터 정보 조사 모니터 정보 조사 응용 프로그램이 다중 모니터 환경을 직접 다루거나 다중 모니터로 인한 문제점을 해결하려면 먼저 시스템에 장착된 모니터에 대한 정보를 조사해야 한다. 다음 함수는 시스템의 모든 모니터 또는 특정 DC와 관련된 모니터를 열거한다. BOOL EnumDisplayMonitors(HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData); hdc와 lprcClip 인수에 대해서는 잠시 후 따로 정리해 보기로 하되 이 값이 둘 다 NULL이면 모든 모니터가 열거된다. lpfnEnum 인수는 모니터가 발견될 때마다 호출될 콜백 함수이며 dwData는 이 함수로 전달될 사용자 정의값이다. 콜백 함수는 다음과 같은 원형을 가진다. BOOL .. 2011. 4. 28.
반응형