본문 바로가기

C/C++

[MFC]다이얼로그 배경 이미지로 반투명 png 사용하기 다이얼로그 배경 이미지로 반투명 png 사용하기 이 이슈를 해결하기 위해 1주일 가량 뒤지고 뒤져서 찾은 링크.아래 링크에 C++/C# 코드 모두 있다. http://www.codeproject.com/Articles/34158/Cool-Semi-transparent-and-Shaped-Dialogs-with-Stan 그리고 나의 간단 테스트 더보기
Autotrace 빌드하기 (Windows) Autotrace 빌드하기 (Windows) autotrace : bitmap 이미지를 vector 그래픽으로 만들어 주는 프로그램테스트 환경 : Windows 8, Visual Studio 2010 http://autotrace.sourceforge.net/이것이 공식 사이트인 듯 하나, binary는 다운로드 되지만, 소스 다운로드가 되지 않는다.그리고 binary는 실행하면 죽어 버린다 ㅠ이 사이트에서 웹에서 변환할 수 있는 사이트(아래 링크)를 제공하니 샘플로 돌려볼 수 있다.http://www.roitsystems.com/cgi-bin/autotrace/tracer.pl 우분투 웹사이트에서 autotrace 소스 및 매뉴얼을 확인할 수 있다.http://manpages.ubuntu.com/man.. 더보기
NPAPI 메모리 관리 (Memory management in NPAPI) NPAPI 메모리 관리 (Memory management in NPAPI) NPAPI의 NPObject 객체도 참조 카운트를 사용하여 메모리를 관리하고 있습니다.NPObject를 다루를 함수들은 아래와 같이 다양합니다. - NPN_CreateObject, NPN_RetainObject, NPN_Release, NPN_Evaluate, NPN_GetValue,NPN_SetValue, NPN_GetProperty, NPN_SetProperty, 등등 그런데 참조 카운트를 증가하고 감소하는 메커니즘에 대한 이해가 쉽지 않아 구글링을….다음과 같이 누군가가 작성해 놓았네요 [1] (원문은 맨 아래 링크 클릭) 이해한 바에 따르면,위에 언급한 NPObject 함수들에서 NPObject를 얻으면, 작업을 마친 후에.. 더보기
Expat XML Parser 에서 한글(EUC-KR) 처리하기 Expat XML Parser 에서 한글(EUC-KR) 처리하기 Expat XML Parser는 ISO-8859-1 (latin1), ascii, utf-8, utf-16 의 4가지 문자코드만을 지원합니다.그래서 한글이나 기타 다른 언어를 파싱하려면 별도의 처리를 해줘야만 하죠. Expat 소스를 직접 수정하는 방법도 있지만,핸들러를 등록하여 사용할 수 있습니다. Expat 에서 지원하지 않는 인코딩 타입을 만나면 XML_SetUnknownEncodingHandler( ) 함수에서 등록된 핸들러가 호출됩니다. 이 핸들러는 XML_SetUnknownEncodingHandler( ) 함수를 이용하여 내가 설계한 핸들러를 등록하는데,핸들러 타입은 XML_UnknownEncodingHandler 이며 타입 선언.. 더보기
[inno setup] 설치시 사용자 대화창 없애기 [inno setup] 설치시 사용자 대화창 없애기 inno setup 으로 설치 파일을 만들 때 사용자 대화창 (설치 경로/비밀번호 등)을 없애고 싶을 때가 있습니다.사용자가 클릭 한번으로 설치할 수 있도록. 첫번째 방법은command-line에서 파라미터로 /silent 혹은 /verysilent 혹은 /sp- 를 사용하여 '조용히' 설치할 수 있습니다.아래 처럼요.> setup.exe /silent이렇게 하면 setup.exe를 더블클릭했을 경우 확인 창도 뜨지 않고 바로 설치에 들어갑니다.아래에서 보듯이 /verysilent 는 '매우 조용히' 설치 할 수 있네요. 설치 창이 전혀 보이지 않습니다. /SP- Disables the This will install... Do you wish to c.. 더보기
[npruntime] NPVariant로 배열(array) 넘기기 및 받기 npapi/npruntime 에는 자료형으로 NPVariant 형을 사용하는데, NPVariant 에는 array 타입이 없습니다. 다시 말해서, javascript에서 플러그인으로 배열형을 넘겨줄때 NPVariant 타입으로 넘기면 되는데,... NPVariant 타입은 아래와 같이 7개가 전부 입니다. : NPVariantType_Void, NPVariantType_Null, NPVariantType_Bool, NPVariantType_Double, NPVariantType_Int32, NPVariantType_String, NPVariantType_Object 그래서, 플러그인에서 javascript로 배열 타입을 넘겨 줄때는 따로 처리를 해줘야 합니다. javascript로 넘겨준다는 것이 NPV.. 더보기
NPAPI로 Browser Cookie 설정하기 NPAPI로 Browser Cookie 설정하기 파이어폭스와 사파리에서 동작 (오페라, IE는 비정상 동작, 크롬은 안해봤음) Gecko 1.9 이하 버전 :GetCookie()if( NPN_GetValue(npInstance, NPNVWindowNPObject, &pWndObject) == NPERR_NO_ERROR) { if(NPN_GetProperty(npInstance, pWndObject,NPN_GetStringIdentifier("document"), &npDocument) == true) { if(NPN_GetProperty(npInstance, NPVARIANT_TO_OBJECT(npDocument), NPN_GetStringIdentifier("cookie"), &npCookie) == .. 더보기
DLL API에서 'DialogBox' 사용하기 DLL API에서 'DialogBox' 사용하기 DialogBox 함수는 아래와 같이 정의된다.INT_PTR WINAPI DialogBox( __in_opt HINSTANCE hInstance, __in LPCTSTR lpTemplate, __in_opt HWND hWndParent, __in_opt DLGPROC lpDialogFunc ); 여기서 첫번째 파라미터인 HINSTANCE를 보면, 이렇다.HINSTANCEA handle to the module whose executable file contains the dialog box template. 문제:이 파라미터를 'NULL'로 세팅을 하면, 실행 가능한 파일의 핸들이라는 의미이다.그러나 DLL 모듈에서의 다이얼로그 리소스는 실행 가능한 모듈이.. 더보기
[svn] ssh를 이용하여 svn 사용하기 ssh를 사용하여 svn 사용하기 회사내부에서 svn을 사용하다가 회사 외부에서 작업해야 될 때가 있습니다.그때 보안을 위해 ssh를 사용하기도 합니다.어쨋든 ssh를 사용하여 svn을 사용하는 방법은 [1]의 링크를 따라가면 됩니다. 1. 서버 설정 (이건 직접 해보지 않았음)2. PuTTY 설치 : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html3. PuTTY 설정 : 첨부한 개인키 포캣 파일을 다운받아 임의의 경로에 저장 : PuTTY ssh 클라이언트를 실행하고 아래와 같이 설정 Session -> Host Name(or IP address) : 123.123.123.123 Session -> Connection type : SSH.. 더보기
pImpl idiom [펌] - http://yesarang.tistory.com/316 이전 글에서 비가상인터페이스(NVI)를 활용하여 사용자용 인터페이스와 개발자용 인터페이스를 분리하여 관점을 잘 분리하는 방법을 설명해 드렸습니다. 그리고, 글 마지막에는 다음 글로 "특정 클래스 내부 구현을 바꾸더라도 그 클래스를 사용한 Application 재컴파일이 필요 없게 만들 수는 없을까요 ?"라는 화두를 던졌었지요. 그럼 이제부터 그 화두에 대한 답변을 해 보도록 하지요. 지난글 예제로 제시됐던 ImageDecoder 헤더 파일을 다시 한 번 살펴 보도록 하겠습니다. /// @file ImageDecoder.h // forward declaration class ImageValidator; class ImageBuffer; c.. 더보기