■ 버튼에 이미지 입히기

 

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
Posted by 마마필로 :