■ 버튼에 이미지 입히기
1. 배경으로 쓰고자 하는 비트맵(bitmap)이미지 추가
2. 프로젝트의 rec폴더에 추가
3. 프로젝트-리소스뷰-리소스추가: res폴더에서 준비한 비트맵이미지 추가(ID수정)
4. 이미지를 넣을 버튼의 속성에서 Owner Draw를 true로 변경
5. 버튼에 변수 추가(변수형식: CBitmapButton으로 수정, 변수이름주기 → ex.)m_btnBmp)
6. Dlg클래스 cpp파일 → OnIntDialog()함수에 코드 추가
m_btnBmp.LoadBitmaps(IDB_BITMAP_TEST1, IDB_BITMAP_TEST2, IDB_BITMAP_TEST3, IDB_BITMAP_TEST4);// 버튼에 이미지 입힙
m_btnBmp.SizeToContent(); // 이미지를 버튼의 크기에 맞게 자동조절
→ m_btnBmp(정해준 변수이름)
→ LoadBitmaps(기본, 눌렀을때, 포커스가 올라왔을 때, 비활성화)
■ 대화상자 배경 이미지 넣기
1. 배경으로 쓰고자 하는 비트맵(bitmap)이미지 추가
2. 프로젝트의 rec폴더에 추가
3. 프로젝트-리소스뷰-리소스추가: res폴더에서 준비한 비트맵이미지 추가(ID수정)
4. Dialog창(***.rc)의 도구상자에서 Picture Control 추가
5. Picture Control의 속성에서 Type을 Bitmap으로 수정(ID수정)
6. Picture Control 아이콘에서 오른쪽클릭하여 변수 추가(변수이름주기 → ex.)m_imgBg)
7. Dlg클래스 cpp파일→ OnIntDialog()함수에 코드 추가
HBITMAP hBit=LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP_BG));
m_imgBg.SetBitmap(hBit);
CRect rt;
GetClientRect(&rt);
m_imgBg.SetWindowPos(NULL,0,0,rt.Width(),rt.Height(),SWP_SHOWWINDOW);
접속 요청시
'IP입력'과 'local host'입력의 차이
IP입력시 IP를 찾기 위해 실제 라우터를 거쳐야 한다.
라우팅 테이블에 IP가 없으면 밖으로 나가지 못함
로컬 호스트의 경우 내 PC안의 IP만 검사하여
내 PC로만 통신을 하겠다고 명령하는 것
'임계영역'의 이해 要...
동기식/비동기식을 결정하는것은 프로그래머이지 소켓이 아니다.
버퍼의 용도
비주기적으로 데이터가 들어오면서 데이터가 몰려서 한꺼번에 다 받을 수 없는 경우를 대비해 버퍼공간에 데이터 저장.
(직접 수신하지 않고 중간에 빈 공간(버퍼)을 만들어 데이터를 모아두는 것)
그 후에 serialization(직렬화, 데이터를 일련화 시킴) 하여 처리함.
*1024바이트 이상이면 메모리에 버퍼를 만들 수 없음
→ 비동기 통신에서 가장 중요한 객체가 버퍼와 파일
→ 1024바이트 이상이 되면 파일버퍼를 사용해야 함
★ 데이터동기화/동기식통신/비동기식통신
'PROGRAMMING > MFC(C++)' 카테고리의 다른 글
[스크랩] bitmap 강의 내용 정리 (0) | 2011.04.14 |
---|---|
[0412수업] (0) | 2011.04.12 |
[0411수업] TCP/IP 소켓 프로그래밍 (0) | 2011.04.11 |
[0408수업] 소켓통신 보충 (0) | 2011.04.08 |
[0407수업] 소켓실습 (0) | 2011.04.07 |