본문 바로가기
반응형

코스웨어/15년 스마트컨트롤러532

20151116-김재홍-win32API_3일차 /***win32API_3일차***/ 첫번째 예제 : 마우스의 x, y 좌표 출력하기 두번째 예제 : 더블클릭 세번째 예제 : 시간출력예제 네번째 예제 : 메시지 보내기5초마다 비프음을 냅니다. 다섯번째 예제 : 콜백함수 여섯번째 예제 : 작업영역 일곱번째 예제 : WM_SIZE 여덟번째 : 리소스 작성하기 감기에 걸려 정리를 제대로하지 못한 것 같습니다.앞으로는 열심히 정리해 올리도록 하겠습니다. ㅜㅜ 2015. 11. 16.
2015.11.16 -권오민- WinAPI-3일차 API◉4-1. 입력●4-1-라. TranslateMessage- 키보드에서 A키를 눌렀다가 뗐다고 가정하자. - WM_KEYDOWN, WH_CHAR, WM_KEYUP이 순서대로 발생한다. - WM_CHAR은 WM_KETDOWN에 의해 추가로 발생하는 메시지이다. - GetMessage는 메시지 큐에서 메시지를 꺼내와서 TranslateMessage로 넘겨준다. - TranslateMessage는 WM_KEYDOWN인지와 눌려진 키가 문자키인지 검사한다. - 조건이 맞을 경우 WM_CHAR 메시지를 만든다. - 맞지 않거나 문자입력이 아닐 경우 아무것도 하지 않는다. - DispatchMessage에 의해 WndProc으로 보내진다.◉4-2. 마우스 입력●4-2-가. Mouse- 키보드에서 wParam과.. 2015. 11. 16.
20151116 22번 업무일지 우대희 API >TranslateMessage오직 TransleateMessage()가 wm_char메시지를 생성한다. DispatchMessage() wndProc을 호출한다. keydown이 전달되려면 translate와 dispatch까지 통과되어야 한다. 만약 translate를 빼버리면 char는 절대로발생하지 않는다. >MouseWndProc의 wparam, lparam옛날엔 2, 4 바이트지금은 4, 4 바이트lparam에서 x, y좌표가 날라온다.이걸 절반으로 자르면 x, y좌표를 얻을 수 있다.wparam정보에는 마우스버튼 상태와 키보드와 조합 상태가 전달된다.lparam이 32비트이므로x좌표 16비트, y좌표 16비트로 이루어졌으니약6만5천, 약6만5천개가 한계라고 할 수 있다.나중에 고해상도가 나왔.. 2015. 11. 16.
20151116 임현수 업무일지 WIN32API #3 ■ WIN32API ■ TranslateMessage▲ 오직 TransleateMessage()가 wm_char메시지를 생성한다.DispatchMessage() wndProc을 호출한다. keydown이 전달되려면 translate와 dispatch까지 통과되어야 한다. 만약 translate를 빼버리면 char는 절대로발생하지 않는다. ■ 마우스 WndProc의 wparam, lparam옛날엔 2, 4 바이트지금은 4, 4 바이트 키보드조합이 wparam, lparam으로 오는것처럼 마우스도 마찬가지이다. 넘어오는 정보중의 일부가 좌표정보이다. lparam에서 x, y좌표가 날라온다.이걸 절반으로 자르면 x, y좌표를 얻을 수 있다. 이 좌표는 바탕화면 기준이아니고, 창내부의 좌표를 의미한다. wpar.. 2015. 11. 16.
20151113 22번 업무일지 우대희 API 소스>배경색 바꾸기WndClass의 멤버중 배경색상을 지정하는 hbrBackground가 흰색 브러시로 지정.WndClass.hbrBackground=GetStockObject(WHITE_BRUSH); 이 함수의 인수로 WHITE_BRUSH가 사용되었기 때문에 배경색을 칠하는 데 흰색 브러시가 사용되었다. 이 값을 BLACK_BRUSH로 변경하면 검정색이 배경색으로 사용되며 LTGRAY_BRUSH로 변경하면 옅은 회색 배경이 만들어진다. >커서 바꾸기WndClass에서 커서를 지정하는 멤버가 다음과 같이 정의WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);hCursor 멤버는 윈도우가 기본적으로 사용할 커서를 지정하며 LoadCursor 함수는 커서를 읽어오는 함수이다.HC.. 2015. 11. 16.
2015-11-13 Win32 API 개인 업무일지 - 천정호 배경색, 커서, 창 타이틀의 변경은 모두 WNDCLASS 구조체에서 변경이 가능하다. 배경색 변경WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);구조체의 hbrBackground 멤버로 변경이 가능하며 변경방법은 (HBRUSH)GetStockObject(WHITE_BRUSH); GetStockObject 함수의 인자로 변경할 색상을 넘겨주고 그 값을 WNDCLASS 구조체의 hbrBaclground 멤버의 값으로 넣어주면 그 값이 해당 색상으로 반영이 된다. 커서 변경WndClass.hCursor = LoadCursor(NULL, IDC_IBEAM);LoadCursor(NULL, IDC_IBEAM); LoadCursor 함수의 첫 번째 인자는 .. 2015. 11. 16.
20151113_안향진_API_02 ==========================================================================================API========================================================================================== =2-3-가. 배경색 바꾸기 WndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); =2-3-나. 커서 바꾸기값설명IDC_ARROW화살표 모양IDC_CROSS십자 모양IDC_IBEAMI자 모양IDC_NO원안에 빗금이 쳐진 모양IDC-WAIT모래시계 모양 =2-3-다. 윈도우의 타이틀 바꾸기 hWnd=CreateWindow(lp.. 2015. 11. 15.
20151113 - 주재민 API 개인 업무일지 2일차 유니코드 각 나라별 언어를 모두 표현하기 위해 나온 코드 체계가 유니코드(unicode)다. 유니코드는 사용중인 운영체제, 프로그램, 언어에 관계없이 문자마다 고유한 코드 값을 제공하는 새로운 개념의 코드다. 언어와 상관없이 모든 문자를 16비트로 표현하므로 최대 65,536자를 표현할 수 있다. 아스키 코드 아스키는 128개의 가능한 문자조합을 제공하는 7비트(bit) 부호로, 처음 32개의 부호는 인쇄와 전송 제어용으로 사용된다. 보통 기억장치는 8비트(1바이트, 256조합)이고, 아스키는 단지 128개의 문자만 사용하기 때문에 나머지 비트는 패러티 비트나 특정문자로 사용된다. 한문으로 글자가 나오는 것을 세가지 방법으로 고침. 2번째 방법을 권장. 1. L"" 2. TEXT("") 3. _T("").. 2015. 11. 15.
20151113 - 강동조 API 개인 업무일지 2일차 L을 붙이는 이유는 아스키 코드 떄문이다 유니 코드라는 것이 개발이 되었다 2바이트체제의 문자를 가지고 있다 char는 255개이고 유니 코드는 65535까지 가질 수 있다 예전부터 win32는 char에 맞쳐져 있다 wchar이고 유니코드를 넣을 수 있는 변수타입이고 일종의 short변형이다 문제는 ""하면 아스키코드 문자이냐 유니 코드 문자이냐 단종 지을수 없기에 ""만 쓰면 C처럼 인지하고 char로 인지 하게 된다 win32문자는 2byte는 wchar에 맞쳐져있다 그렇기에 ""는 2byte로 인지해야하기에 깨질 수밖에 없다 First하면 Fi가 두개 들어가기에 글자가 이상하게 나온다1. TEST("First") win32방식이다 아무대서나 문제가 생기지 않는다2._T("First") MFC권장이.. 2015. 11. 13.
728x90
반응형