전체 글 269

VC++, 델파이 웹에서 다운로드받는 가장 쉬운 방법

VC++ 2003 Delphi 7 에서 실험 VC++에서는 #include "Urlmon.h" // 인터넷에서 다운로드 받는다. HRESULT hr = URLDownloadToFile (NULL, strWebFilename, strFilename, 0, NULL); if (FAILED(hr)) { MessageBox("인터넷에서 파일 다운로드 받기에 실패했습니다."); ::DeleteFile(strFilename); return ERROR; } // if (FAILED(hr)) 델파이에서는 uses urlmon URLDownloadToFile(nil, PAnsiChar('http://www.panboy.pe.kr/tattertools/image/owner/controlPanelLogo.gif'), PAn..

프로그래밍 2006.11.05

델파이에서 ActiveX 콘트롤 만들기(ActiveForm 쓰지 않고)

델파이 7 기준. 메뉴에서 File > New > Other > ActiveX탭 > ActiveX 콘트롤 선택 그럼 ActiveX Control Wizard가 뜨는데, 여기서 기본이 되는 VCL Class Name을 TFrame으로 보통 선택한다. 물론 용도에 따라 다르게 선택하면 되겠지. 나머지는 뭐 다 알아서. 그리고 바로 메뉴에서 File > New > Other > ActiveX탭 > Com Object나 Com Object + Event 등을 선택한다. Com Object Wizard가 뜨는데, Class Name에 클래스 이름을 넣어준다. 여기서 C나 T로 시작하지 않도록 한다. 이렇게 하고 안에서 컨트롤들을 쓰려면(Fast Report같은) Create 할 때 Owner에 그 안의 FDelp..

사용자 정의 커서 사용하기

사용자 정의 커서 사용하면 잘 안된다. SetCursor(LoadCursor(NULL, IDC_WAIT)); 이렇게 미리 정의되어 있는 거 사용하면 무쟈게 잘 되는데, 사용자 정의 커서는 잘 안된다. 예를 들어, IDC_PENCIL 을 정의해 놓고, (이런 연필 모양 커서는 C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Graphics\cursors 에 가보면 많다.) 이걸 쓰려고 하는데, 툴 버튼을 누르는 곳에서 SetCursor을 하면 안된다. WM_SETCURSOR 메시지 처리를 하면서 다시 원래 arrow로 바꿔 버리기 때문이다. 그래서 결국에는 WM_SETCURSOR 메시지 핸들러에서 마우스 커서를 바꿔줘야 한다. 아래와 같이 경우에 따..

MFC ActiveX에서 BackSpace가 안먹히는 문제 해결

출처 : http://support.microsoft.com/kb/q168777/ MFC ActiveX에서는 BackSpace가 안먹힌다. IE가 BackSpace, Tab, 화살표 키등을 트랩하고 있기 때문이다. 이 문제를 해결하려면 위의 문서를 보면 된다. ㅋ 단순히 백스페이스 문제만 해결하려면 아주 단순히 int CMyActiveXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) == -1) return -1; OnActivateInPlace (TRUE, NULL); // == UI-Activate the control return 0; } 저렇게만 해줘도 백스페이스 문제가 해결된다. 하지..

VC++에서 ADO 사용하기

1. stdafx.h 파일에 다음을 추가한다. #pragma warning(push) //ado 버그로 인한 컴파일시 경고 뜨는것 방지. #pragma warning(disable:4146) #import "C:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" \ rename("EOF", "EndOfFile") no_namespace//#import "C:\\Program Files\\Common Files\\System\\ADO\\msadox.dll" #import "C:\Program Files\Common Files\System\ADO\msadox.dll"#pragma warning(pop) 2. ADO를 사용할 파일에 다음을 include 한다...