본문 바로가기

VisualStudio.C++.C#   ( 290 )


VC++. 사용자정의메시지 수신처리기 추가. 예: CyFinAPI의 클래스 CDlgMain에 추가함. 상세. 클래스마법사 실행하여(아래 그림) 사용자 정의 메시지 수신 처리기를 추가할 클래스를 지정하고, 파랑박스에서 클래스 선택. 위 그림에, 탭 "메시지" 을 선택하고 버튼 "사용자 지정 메시지.." 클릭하면 메시지아이디, 메시지 처리기 함수명을 지정하는 창이 뜬다. 아래. 메시지 아이디부분에 기록하면 처리기 함수명은 자동으로 만들어진다. 이 함수명 그대로 사용해도 되고 임의로 변경가능. 메시지 아이디는 메시지를 송신하는 측에서 지정된 것을 기록하면된다. 통상 #define WM_MESSAG_ID WM_USER+번호 식으로 선정의 해두고 사용하게 된다. 위 그림의 확인버튼 클릭하면, 메시지 처리 함수가 코드속에 들어오게 되며, 이 함수에 메시지 수신시 처리할 사항을 코드 추가한다. 끝. - VC++. 사.. 2015. 12. 13.
VC++ 프로젝트 리소스에 아이콘 추가. 예:CyFinAPI 프로젝트에 아이콘 추가. 상세. 아이콘의 아이디를 설정하고(아래 붉박), 사이즈, 색상표현비트수 별로 아이콘들이 준비되어있다. 각각의 이미지를 원하는것으로 수정하면된다. 아이콘 이미지가 간단한 경우에는 본 편집기에서 직접 수정해도 되고, 이미지가 복잡한 경우 아래와 같은 과정으로 이미지 처리 작업 수행해도 된다. 1. 별도의 이미지 편집툴(포토샾 , 혹은 온라인 편집툴 http://igotit.tistory.com/491 ) 등에서 아이콘중 가장 큰 사이즈인 256x256 32비트 규격으로 이미지 작업하여 고품질 원본 1개 만들고 2. 상기 1의 원본을 48x48, 32x32, 16x16등의 축소판 만들고, 각 이미지들을 png로 저장하고, 3. 상기 2의 png를 그림판에서 열고, 이미지를 복사하여 아래 VC++ 그림부분에 복.. 2015. 12. 13.
VC++ 프로젝트 리소스에 메뉴 추가. 예:CyFinAPI 프로젝트에 트레이아이콘용 메뉴 추가. 상세. 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11 ///489. 2015. 12. 13.
VC++ 프로젝트에 일반클래스 추가. 예: CyFinAPI(DLL) 프로젝트에 CCyTrayIcon 추가. 개요. VC++ 프로젝트에 일반 C++ 클래스 추가하기. (MFC클래스를 베이스로 하지 않는) - 예: CyFinAPI(MFC regular DLL) 프로젝트에 CCyTrayIcon (일반 C++ 클래스)추가함. 방법요약. 방법1. 클래스마법사 (핫키 ctrl shift x )에서 클래스추가하기. 클릭하여 클래스 이름, 파일명 지정하여 생성. 방법2. 솔루션 탐색기 프로젝트 우마우스 클릭 -> 추가 -> 클래스 클릭하여 C++ 클래스 선택하여 생성. 아래 1이든,2든 동일한 것이며 아래 상세에서는 방법1 보임. 방법1. 클래스 마법사 이용하여 일반 클래스 추가. 프로젝트 CyFinAPI 에서 클래스 마법사 (핫키 ctrl shift x) 실행 - 아래. 붉박 클래스 추가 클릭. 아래. 붉박 클래스 이름을.. 2015. 12. 13.
Visual Studio 2015 Installer 설치하기. 설치 첫화면, 설치완료후 VS205 실행하여 새프로젝트 만들기 시도 해보면, 템플릿 중에 기타 프로젝트 형식에 Visual Studio Installer 가 준비되어있다. 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11 ///486. 2015. 12. 13.
VC++. MFC 대화상자 Alt F4, x버튼, ESC, 엔터 눌러도 안죽게 하기. 예: CyFinAPI DLL 프로젝트 내의 CDlgMain 에 적용. 가장 확고한 방법은 PreTranslateMessage 이용하는것. 아래 설명의 마지막에 있는 PreTranslateMessage 적극 활용할것. BOOL CCyFinBotDlg::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { switch (pMsg->wParam) { case VK_ESCAPE: case VK_RETUN: return TRUE; default : break; } } // TODO: Add your specialized code here and/or call the base class return CDialogEx::PreTranslateMessage(pMsg); } alt F4, ESC키, x 버튼 클릭 해도 대.. 2015. 12. 12.
VC++. MFC 대화상자 Modeless 생성/종료하기. 예: CyFinAPI DLL 프로젝트 내의 CDlgMain 생성/종료 개요. MFC CDialog 기반 대화상자를 modeless 로 생성하고 종료하는법 정리. modeless 든 modal 이든 대화상자 템플릿과 클래스를 만드는 기본적인 사항은 동일하며, 생성/종료방법에 따라서, modal, modeless 라고 불린다. 대화상자 생성시 Create 함수호출로 생성하는것을 modeless 라고 한다. 대화상자 생성시 DoModal함수로 생성하는 것을 Modal 대화상자라고 한다. Modal,Modeless 대화상자 비교. Modeless 대화상자. Modal 대화상자. 생성 함수 Create DoModal 종료 함수 DestroyWindow EndDialog 본 글의 설명에 사용되는 예제 프로젝트 CyFinAPI (VC++ MFC Regular DLL 프로젝트임) 에 추.. 2015. 12. 12.
Visual Studio 2015 VC++ 배포시. Universal CRT(C RuntTme) 라이브러리 배포 방법. CRT 배포 요약.- Visual Studio 2015. VC++ 버전14. Visual Studio 2015에 포함된 Visual C++ (버전14)에서 제작된 응용프로그램 배포시, Universal CRT(C RunTime )라이브러리가 실행될 컴퓨터에 있어야 응용프로그램이 정상 실행된다. Win10 에는 Universal CRT가 기본 설치되어있기때문에 별도 설치가 필요없다. win7,8,8.1 의 컴퓨터에 Universal CRT 라이브러리파일이 없다면 아래 3가지 방식 중 하나를 이용하여 VS2015의 VC++로 제작된 응용프로그램 정상실행가능하다. 용어 : Universal CRT - Visual Studio 2015 의 VC++(버전14)부터 등장. 이전의 Visual C++ 6.0, 201.. 2015. 12. 12.
VC++ 응용프로그램에서 DLL 사용하기. 예: CyFinAPI.DLL 을 CyFinAPI_App1 에서 사용. 개요. DLL 을 VC++ 응용프로그램에서 사용하는 법 상세설명. - Visual Studio 2015. - implicit linking 방식으로 DLL 사용함. 개요보기 -> http://igotit.tistory.com/471 - 예로 사용되는 VC++ 응용프로그램 프로젝트(대화상자기반) : CyFinAPI_App1. 상세보기 -> http://igotit.tistory.com/482 - 예로 사용되는 DLL : CyFinAPI.DLL 상세보기 -> http://igotit.tistory.com/481 DLL 파일들 배치. 가장 먼저 DLL (CyFinAPI) 의 3개의 파일들을 응용프로그램 (CyFinAPI_App1) 프로젝트 개발중 폴더에 배치하는것 부터 한다. 아래 3개의 파일이다. 1. Cy.. 2015. 12. 12.
VC++ 프로젝트에 MFC 대화상자 추가하기. 예: CyFinAPI DLL 프로젝트에 CDlgMain 추가. 개요 VC++ 프로젝트 (MFC기반 프로젝트)에 MFC 대화상자 추가. 대화상자를 추가한다함은 코드상에서는 아래 2가지 요소가 추가된다는 의미. 1. 대화상자 리소스 - 화면상에서 보이는 것. 2. 대화상자 클래스 - 상기1과 연결된 클래스. 상기 1,2를 달성하는 방법으로 Visual Studio의 클래스 마법사를 이용하여 생성하는 과정. 본 글의 설명 환경. IDE : Visual Studio 2015. 대화상자 추가할 VC++ 프로젝트 : http://igotit.tistory.com/476 추가할 대화상자 클래스 이름 : CDlgMain 상세-대화상자 추가하기. 클래스마법사 이용. 1. 클래스 마법사 실행. 솔루션 탐색기에서 VC++ 프로젝트인 CyFinAPI 를 선택하고, 마우스 우클릭하여 "클.. 2015. 12. 11.
Visual Studio 솔루션에 새프로젝트 추가하기. 예:솔루션 CyFinAPI에 CyFinAPI_SelfUpdate C# winform 프로젝트 추가. 개요 Visual Studio 의 솔루션에 새 프로젝트 추가하는법. - Visual Studio의 솔루션은 여러 개의 프로젝트를 포함시킬 수 있고, 서로 연관된 프로젝트들은 1개의 솔루션 속에서 통합관리되고 프로젝트간의 빠른 이동이 가능하다. 본 설명에서는 이미 만들어 둔 "1개의 C++ DLL 프로젝트가 있는 솔루션" ( 해당프로젝트 생성과정 보기 -> http://igotit.tistory.com/476 ) 에 C# "Windows Form 응용프로그램" 프로젝트를 추가하는 예를 보인다. 상세. - 솔루션에 새프로젝트 추가하기. 솔루션 탐색기에서 프로젝트 추가할 솔루션을 선택하고, 우마우스 클릭, 추가 -> 새 프로젝트 ... 클릭. 새프로젝트 추가창에서 추가할 프로젝트 형식을 선택한다. 본 예에서는.. 2015. 12. 10.
VC++ MFC Regular DLL 프로젝트 만들기. 예:CyFinAPI.dll 개요 VC++ 에서 MFC Regular DLL 만드는 법. 사용된 IDE : Visual Studio 2015 DLL 프로젝트 명칭 : CyFinAPI - Solution 명칭도 CyFinAPI 로 함. 과정요약. 1. Visual Studio 의 "새 프로젝트" (메뉴 :파일->새로만들기->프로젝트.. 클릭) 에서 MFC DLL 선택하고 프로젝트이름, 경로, 솔루션 이름 지정하고 확인버튼클릭. 2. 이후 DLL 마법사 설정선택하여 기본 DLL프로젝트 자동생성. 3. DLL 을 사용할 프로젝트에서 본 DLL 을 활용할때 필요한 헤더파일 생성해두기. 상세과정 . MFC Regular DLL 만들기. 1. 아래 그림에 Visual Studio 의 "새 프로젝트" (메뉴 :파일->새로만들기->프로젝트.. 클.. 2015. 12. 10.
Visual Studio Community 2015 설치, 무료. 참고. 2017년 3월 15일. 신규 2017 버전 배포됨. Visual Studio Community 2017 -> http://igotit.tistory.com/1253 ---------------------------------------------------------------------------------------------------------- 1. Visual Studio Community 2015 설치 다운로드 주소 https://www.visualstudio.com/products/visual-studio-community-vs 설치 실행 첫화면(아래 ) 설치완료후 제어판 프로그램 및 기능에서 기능 추가 제거 가능하므로 표준설치 선택하고 설치 버튼 클릭하여 진행. 설치중 화면 설치.. 2015. 11. 28.
1바이트 변수의 비트 분리하여 2바이트 걸쳐서 저장하기. 상황. 아래 그림처럼 1바이트 변수 source_byte 가 있고, 또한 1바이트 변수 2개 target_byte1, target_byte2 가 있다. source_byte 의 상위 비트 수량 num_bit_upper 는 target_byte1의 하위 에 기록하고, source_byte 의 하위 비트 수량 num_bit_lower 는 target_byte2의 상위 에 기록해야 한다고 하자. num_bit_upper = 3 num_bit_lower = 5 source_byte bit7 6 5 4 3 2 1 0 bit7 6 5 4 3 2 1 0 bit7 6 5 4 3 2 1 0 target_byte1 target_byte2 상기 1바이트를 복사할 대상 2개 바이트. 코드구현 요점. target_byte1 =.. 2015. 10. 27.
C언어, continue. 반복문에서 continue 이하 실행 생략 루프진행. continue; 반복문 (while, for등의 ) 내에서 continue; 가 실행되면 continue; 이하는 실행하지 않고 반복 시행함. 사용예. for(i=0,i 2015. 9. 13.
while 대기방식에서 일정시간 응답 없는 경우 while 탈출 로직. 코드의 실행 대기 용도로 while() 문을 사용하는 경우가 있다. 예. UART RX 로 데이터 수신된것을 폴링방식으로 읽는 경우를 보면, 아래처럼 작성된다. while (RX 버퍼에 데이터가 없다면) ; // 대기. 버퍼에 데이터가 있다면 빠져나온다. 함수 RX 버퍼 읽기. // 값읽기. 위 코드의 문제점은 while 문이 무한대기에 빠져 있을 수 있다는 점이다. 송신측에서 데이터를 보낸다는 보장이 없는 경우도 있다. 위 코드에 추가로 간단한 타이머 기능을 구현하면 아래와 같다. uint32_t count=10000; // 시스템 상황에 따라 최대값을 조정한다. /// 대기상태. count 값 감소하여 0이 되어도 while탈출하고 혹은 count값이 0이 되기전에 RX버퍼에 데이터 수신되어도 탈출... 2015. 9. 1.
ASCII 코드. ASCII printable code chart Binary Oct Dec Hex Glyph 010 0000 040 32 20 (space) 010 0001 041 33 21 ! 010 0010 042 34 22 " 010 0011 043 35 23 # 010 0100 044 36 24 $ 010 0101 045 37 25 % 010 0110 046 38 26 & 010 0111 047 39 27 ' 010 1000 050 40 28 ( 010 1001 051 41 29 ) 010 1010 052 42 2A * 010 1011 053 43 2B + 010 1100 054 44 2C , 010 1101 055 45 2D - 010 1110 056 46 2E . 010 1111 057 47 2F / 011 .. 2015. 9. 1.
배열 초기화. 2차원 배열 초기화 m x n 의 2차원 배열의 모든 요소(element) 를 지정된 값으로 초기화하려면 아래와 같다. 예. 2 x 3 (2행 3열) 정수형 배열이 있고, 아래 표 처럼 초기화 하고 싶다면, int Array[2][3] = {{1,2,3},{4,5,6}}; 로 초기화 하면 된다. 인덱스 0열 1열 2열 0행 1 2 3 1행 4 5 6 기타 규칙. 1. 초기화 값이 누락된 것은 0으로 초기화 됨. 예 : int Array[2][3] = {{1,2}}; 인덱스 0 1 2 0 1 2 0 1 0 0 0 2. 중괄호 1개만으로 초기화 가능. 예 : int Array[2][3] = {1,2,3,4,5,6}; // int Array[2][3] = {{1,2,3},{4,5,6}}; 와 동일함. 예 : .. 2015. 7. 7.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5