본문 바로가기
반응형

Visual C++11

[개발/VC++] ATL Window Class 종류 [개발/VC++] ATL Window Class 종류 ATL 은 COM을 지원하기 위해 디자인 되었지만 윈도우를 모델링 하는 클래스 영역도 포함한다고한다. 그리고 ActiveX 같은 윈도우를 가지는 객체도 만들수 있다.아래는 ATL 에서의 주요 윈도우 클래스들이다. CWindow - 윈도우를 조작하기 위한 Win32 APIs의 작은 랩퍼 클래스이다. 윈도우 핸들과 HWND 를 CWindow 로 변환하는 오퍼레이터를 포함한다. 그러므로 윈도우 핸들을 필요로하는 어떤 함수에 CWindow 오브젝트를 넘길수 있다. CWindowImpl - 이미 존재하는 윈도우를 서브클래싱 하거나 이미 존재하는 클래스를 수퍼클래싱 하거나 , 윈도우 베이스의 새로운 윈도우를 만들때 사용한다. CContainedWindow - 다.. 2016. 3. 21.
[VC] IE에 사용자 툴바를 설치후에 기본으로 보이게 하는 방법 [VC] IE에 사용자 툴바를 설치후에 기본으로 보이게 하는 방법 출처: http://blog.empas.com/p14406 IE에 새 툴바밴드를 설치하고 새 IE를 실행했을때 기본으로 툴바가 IE에 보여지도록 하는 방법에 대한 문서이다. 혹자는 이것이 왜 필요하냐고 물을수도 있는데, 한마디로 필요하다. 왜냐하면 설치를 했다면 당연히 눈여보여서 동작하는 것이 사용자의 기대동작이기 때문이다. 만약 IE에서 툴바를 켜는 방법을 모르는 사용자가 있다면 어떨까? 설치를 한 의미가 없어진다. 사용을 촉진시키고, UI를 보여줌으로써 관심을 일으키는 것이 마케팅일것이다. 1 툴바 DLL의 기본 설정을 이용하는 방법 이 방법을 알아낸다면 밑에 있는 방법은 다 없어도 된다. 이 방법은 웹 검색과 구글검색으로도 쉽게 알아.. 2015. 12. 17.
[개발/Visual C++] MFC Active 생성 MFC Active 생성 1. Workspace 생성 MFC ActiveX control wizard를 선택. 2. Property 생성(메뉴 View > ClassWizard) 1) ClassWizard의 Automation tab에서 선택 2) Class name에서 Control class 선택(...Ctrl) 3) (Add Property...) 버튼 클릭 3) External name: ActiveX를 사용하는 프로그램에서 사용할 property name 4) Type: property type 5) Variable name: ActiveX 내부에서 사용할 property 변수명 6) Notification function: property 값이 변경되면 실행되는 함수. 별로 사용하지 않는다. .. 2015. 11. 9.
[개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 [개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 MFC에서 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법은 유니코드 상태에서 CString 을 바로 CHAR* 로 바꾸는 것이 안됩니다. W2A 나 A2W 로 코드 변환을 하거나 wsprintf(); 함수를 이용 하면 됩니다. 유니코드는 사용 되는 바이트 수가 2바이트이고 1바이트 문자열로 변환하면 깨져 버리는 문자열 들이 있는데 처리를 해야 합니다. 유니코드를 멀티바이트 코드로 변환 하려면 char Text[80]; wsprintfA(Text, "%S", L"문자열" ); 멀티바이트 코드를 유니코드로 변환 하려면 WCHAR Text[80]; wsprintfW(Text, L"%.. 2015. 10. 6.
[개발/MFC] MFC 팁 54개 1. DC얻기 CClientDC dc(this); 2. Client 영역 구하기 GetClientRect(&rect); WM_SIZE 메시지발생후 cx,cy 사용 3. 문자열 사각형안에 그리기 pDC->DrawText(문자열,사각형,Style); Style : DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시DT_SINGLELINE과 함께사용 DT_CENTER - 문자열을 가로중앙에 배치 DT_VCENTER - 문자열을 세로중앙에 배치 DT_LEFT,RIGHT - 문자열을 좌,우로 배치 DT_SINGLELINE - 문자열을 한줄로만 쓴다 4. Brush 사용법 CBrush brushname(RGB(red,green,blue)); //브러쉬 생성 //이전Brush 저장, 새로운 Brush 선택 C.. 2012. 4. 3.
[개발/VC++] warning LNK4098: 'libcmt.lib' defaultlib가 다른 라이브러리와 충돌합니다 warning LNK4098: 'libcmt.lib' defaultlib가 다른 라이브러리와 충돌합니다. /NODEFAULTLIB:library를 사용하십시오. 경고 메시지 처리 해당 프로젝트의 속성을 수정하여 경고를 대처할 수 있다. 아래의 프로젝트 속성 화면에서 링커-->입력 페이지로 이동한 후, 특정 라이브러리 무시 입력란에 해당 경고 메시지에 포함된 *.lib 파일을 입력한다. 다시 컴파일 해보면 경고 메세지가 발생하지 않는다. 2012. 1. 2.
[개발/MFC] MFC 팁 54개 1. DC얻기 CClientDC dc(this); 2. Client 영역 구하기 GetClientRect(&rect); WM_SIZE 메시지발생후 cx,cy 사용 3. 문자열 사각형안에 그리기 pDC->DrawText(문자열,사각형,Style); Style : DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시DT_SINGLELINE과 함께사용 DT_CENTER - 문자열을 가로중앙에 배치 DT_VCENTER - 문자열을 세로중앙에 배치 DT_LEFT,RIGHT - 문자열을 좌,우로 배치 DT_SINGLELINE - 문자열을 한줄로만 쓴다 4. Brush 사용법 CBrush brushname(RGB(red,green,blue)); //브러쉬 생성 //이전Brush 저장, 새로운 Brush 선택 C.. 2011. 5. 10.
[개발/웹] VC++ ATL을 이용한 Scriptable ActiveX 제작 A Complete Scriptable ActiveX Web Control Tutorial using ATL By Arif Zaman | 18 Dec 2007 | Unedited contribution An article on Scriptable ActiveX Web Control using ATL Is your email address OK? You are signed up for our newsletters but your email address is either unconfirmed, or has not been reconfirmed in a long time. Please click here to have a confirmation email sent so we can confirm your e.. 2010. 9. 13.
[개발] visual c++ OS 버전 구하기 #include #include #include #include #pragma comment(lib, "User32.lib") #define BUFSIZE 256 typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD); BOOL GetOSDisplayString( LPTSTR pszOS) { OSVERSIONINFOEX osvi; SYSTEM_INFO si; PGNSI pGNSI; PGPI pGPI; BOOL bOsVersionInfoEx; DWORD dwType; ZeroMemory(&si, sizeof(SYSTEM_INFO)); ZeroMemory(&osvi, s.. 2010. 8. 27.
반응형