본문 바로가기

분류 전체보기

(602)
SetDCPenBrush 함수 (Section 39) 참고> blog.naver.com/tipsware/220988622624 SetDCPenColor 함수에 대하여 1. 먼저 봐야 할 내용들 이 함수는 GetStockObject 함수에 DC_PEN라는 옵션을 사용했을 때만 사용... blog.naver.com 1. DC에 연결된 GDI Pen Object의 색상을 자주 변경해야 할 경우 SelectObject 함수도 그만큼 자주 호출되기 때문에 비효율적임. -> 이를 개선하고자 SelectObject함수의 호출을 줄이는 방법이 있음 -> SetDCpenColor 함수를 사용하면 됨 -> GetStockObject 함수의 DC_PEN 옵션을 사용했을 때에만 사용 가능함 2. SetDCPenColor 함수: DC에 설정된 PEN 객체의 색상을 변경하는 함수 ..
SetDCBrushColor 함수 (Section 38) 참고> blog.naver.com/tipsware/220988598651 1. DC에 연결된 GDI Brush Object의 색상을 자주 변경해야 할 경우 SelectObject 함수도 그만큼 자주 호출되기 때문에 비효율적임. -> 이를 개선하고자 SelectObject함수의 호출을 줄이는 방법이 있음 -> SetDCBrushColor 함수를 사용하면 됨 -> GetStockObject 함수의 DC_BRUSH 옵션을 사용했을 때에만 사용 가능함 2. SetDCBrushColor 함수: DC에서 가지고 있는 BRUSH 객체의 색상을 변경하는 함수 -> 굳이 DC의 BRUSH 객체를 갈아낄 필요없이 색상만 바꿔줄 수 있다. -> 반환 값으로 BRUSH 객체의 기존 색상을 리턴함. 3. 주의사항 -> SetD..
CreateHatchBrush 함수 (Section 37) 참고> blog.naver.com/tipsware/221121332281 1. 도형을 가득 채우고 싶다면 CreateSolidBrush 함수를 사용하지만, 도형을 다양한 형태의 선으로 채우고 싶다면 CreateHatchBrush를 사용해야 함. 2. CreateHatchBrush 함수: 특정 형태의 선으로 도형을 채우는 함수 -> 선의 모양(HS_ 로 시작하는 값; HS는 Hatch Style의 약자) 과 선의 색상을 파라미터로 받은 후 Hatch brush의 핸들 값을 반환함.
CreateSolidBrush 함수 (Section 36) 참고> blog.naver.com/tipsware/221121185151 1. CreateSolidBrush 함수: Brush 객체를 만드는 함수 -> 파라미터로 색깔 정보를 넣으면 됨. RGB(0, 0, 255) 처럼 RGB 매크로를 사용해도 되고 0x00FF0000 처럼 직접 바이트를 입력해도 됨. 단, 바이트를 입력할때는 리틀엔디언을 적용해서 0xAABBGGRR 순서로 적어야 함. 2. Rectangle 함수: DC에 연결된 BRUSH 객체와 PEN 객체를 이용해 사각형 영역을 그려줌. -> 프로그래머가 직접 DC에 BRUSH 객체와 PEN 객체를 바인딩한 후 Rectangle 함수를 호출해야 함. 3. FillRect 함수: Rectangle 함수 대신에 FillRect 함수를 사용하면 테두리 선..
GetStockObject 함수 (Section 35) 참고> blog.naver.com/tipsware/220988417978 1. Windows 운영체제는 사용빈도가 높고 내용이 바뀌지 않는 자원들을 미리 만들어서 가지고 있음. -> 'Stock Resoure' 또는 'Stock Object' 라고 부름. 2. GetStockObject 함수: 'Stock Object'의 핸들 값을 얻을 때 사용 -> GDI Object와 관련된 자원을 얻어옴. Brush, Pen, Font, Palette에 대한 핸들 값. 3. GetStockObject 함수로 얻은 핸들 값은 DeleteObject나 CloseHandle을 사용해서 제거하면 안됨. 왜냐하면 이 핸들 값은 Windows 운영체제가 원래부터 가지고 있었고 당연히 있을 거라고 생각하는 자원이기 때문.
FTP 서버 접속 외부에서 Windows 운영체제의 탐색기를 활용하여 회사 내부망에 있는 FTP 서버에 접속하려고 했더니 (물론 외부와 내부를 연결해주는 게이트웨이로 접속한 것이다.) "FTP 서버에서 폴더를 여는 동안 오류가 발생했습니다. 이 폴더를 액세스할 권한이 있는지 확인하십시오. 자세히: 200 Switching to ASCII mode. 227 Entering Passive Mode " 라는 에러가 떳다. 구글링해보니 [ Intenet Explorer 에서 인터넷 옵션> 고급 탭 > "방화벽 및 DSL 모뎀과 호환되는 수동 FTP 사용" 체크 해제 ] 위의 방법을 사용하라고 나왔다. 이 방법을 사용하니 "500 Illegal port command" 라는 에러가 떳다. 이유인 즉슨, FTP 서버 접속에는 두 가..
CreatePen 함수 (Section 34) 참고> blog.naver.com/tipsware/221120557339 1. Pen 객체: GDI를 사용하여 그림을 그릴 때 선의 색상이나 형태(실선, 점선, ...)를 관리하는 객체 2. fnPenStyle: 선의 종류 3. nWidth: 선의 굵기 => 1부터 적을 수 있고 1을 적으면 선의 굵기가 1점(pixel)의 크기로 그려짐 => 선의 굵기에 0을 적으면 1을 적은 것과 동일하게 처리 => 1을 넘으면 fnPenStyle 속성이 모두 PS_SOLID 형식으로만 그려짐.. 1보다 큰 값에서 다른 fnPenStyle을 사용하려면 ExtCreatePen 함수를 사용해서 Pen 객체를 생성해야 함 4. crColor: 선의 색상 (RGB)
SelectObject 함수 (Section 33) 참고> blog.naver.com/tipsware/220988055352 1. SelectObject 함수: DC에 저장된 GDI Object의 핸들 값을 변경할 때 사용 2. DC의 특정 GDI Object를 기존 것과 다르게 사용하고 싶은 경우 SelectObject 함수로 GDI Object를 교체해서 사용하면 됨 3. Bitmap은 SelectObject 함수로 교체할 경우 'Memory DC' 에서만 교체할 수 있음. => GetDC() 함수를 통해 얻은 DC의 경우에는 Bitmap 객체가 출력장치와 직접 관련이 있기 때문에 교체 불가능 4. SelectObject 함수가 성공할 경우 기존 GDI Object의 핸들값을 반환하고, 실패할 경우 NULL을 반환함 5. HGDIOBJ 자료형은 HBI..