본문 바로가기

전체 글205

투명 이미지 그리기(MaskBlt, TransparentBlt) 부분적으로 투명한 이미지는 상당히 쓸모가 많다. 특히 스킨 형태의 어플리케이션을 개발하려면 투명 이미지를 그리는 것은 꼭 필요한 요소 중 하나다. WIN32에서도 MaskBlt(), TransparentBlt() 등의 투명한 이미지를 그리기 위한 API를 제공하지만 MaskBlt()는 Windows NT 계열에서만 사용할 수 있고 TransparentBlt()는 Windows 98이나 2000이상에서만 사용이 가능하다. 만약 Windows 9X나 Windows 2000 미만에서 투명한 이미지를 그리려면 다음과 같은 방법으로도 가능하다. 최근에는 Windows 9X 사용자가 줄어서 거의 필요 없지만 말이다. 1. 먼저 배경색을 이용해서 마스크 비트맵을 만든다. 이미 마스크 비트맵이 있다면 생략이 가능하다... 2007. 4. 3.
메모리 DC를 이용한 더블 버퍼링 화면에 이미지나 도형, 텍스트 등 여러가지를 출력하다 보면 깜박거리는 현상을 보게 된다. 한 번 출력하고 말 것이라면 크게 문제가 안 될 수 있지만 지속적으로 출력하는 상황에서는 깜박거림은 피하고 싶은 문제 중 하나이고 가장 쉽고 일반적인 해결책은 더블 버퍼링이다. 다음은 메모리 DC를 이용한 더블 버퍼링 방법이다. 1. 출력하려는 크기의 비트맵과 메모리 DC를 생성하고 메모리 DC에 생성된 비트맵을 선택한다. HBITMAP hbmMem = CreateCompatibleBitmap(hdc, 48, 48); HDC hdcMem = CreateCompatibleDC(hdc); HBITMAP hbmOld = (HBITMAP)SelectObject(hdcMem, hbmMem); 2. 생성한 메모리 DC(hdcM.. 2007. 3. 31.
Windows XP 호환 오픈소스 운영체제 ReactOS ReactOS라는 Windows 호환 운영체제가 개발 중이다. 사실 개발이 시작된 건 오래 전(1998년)인데 최근에 꽤 진척이 있었던 모양이다. 일단 직접 PC에 설치하기는 좀 무리인 것 같아서 Virtual PC에서 설치했는데 설치가 안 된다. 설치 초기 설정값인 VESA 드라이버가 제대로 작동이 안 되는 것 같아서 VGA 드라이버로 돌려 봤는데 일단 설치 완료, 재부팅 후 화면까지는 뜨나 정상 작동이 안 된다. 그래서 홈페이지에 있는 VMware 로 설치된 버전을 VMware에서 돌려 보니 제법 작동이 된다. 가끔 이유없이 죽어 버리고 한글이 지원되지 않지만 돌아간다는 것 만으로도 흥미롭다. 홈페이지를 둘러 보니 커널은 새로 제작하였고 많은 부분은 Wine 프로젝트(리눅스 환경에서 Windows 어.. 2007. 3. 24.
MFC의 CPropertySheet, CPropertyPage에서 디자인 깨지는 문제 MFC의 CPropertySheet와 CPropertyPage는 탭 컨트롤 기반의 환경설정이나 위자드 다이얼로그를 만들 때 많이 사용하는 클래스들이다. 그런데 리소스 에디터에서 디자인한 다이얼로그를 CPropertyPage로 만들어서 사용하다 보면 디자인이 변경되어서 깨지는 문제가 발생하곤 한다. 특히 한글 윈도우에서 디자인한 다이얼로그를 영문 윈도우(물론 랭귀지팩이 깔린)에서 보면 거의 깨져 보인다. 원인은 CPropertySheet에서 다이얼로그 템플릿을 초기화할 때 CPropertyPage의 폰트를 CPropertySheet의 폰트와 같은 폰트로 변경하면서 디자인이 바뀌기 때문이다. 이것을 막으려면 CPropertySheet를 상속 받아서 BuildPropPageArray()를 오버라이딩한 다음 폰.. 2007. 2. 28.
Windos Vista에서 IE7 실행 및 IWebBrowser2 인터페이스 얻기 Windows Vista에서 IWebBrowser2를 CoCreateInstance로 생성하는 경우 몇가지 제약 사항들이 있다. 먼저 Internet Explorer을 Visible하게 하기 전에 먼저 Navigate를 실행해야 한다. 다음으로 Navigate하고자 하는 URL이 Trusted Domain이 아니면 실행하는 어플리케이션이 관리자 권한으로 실행 중이거나 보호 모드가 설정된 IE7을 실행해야 한다. 그렇지 않으면 IE7은 보호 모드가 설정된 IE 프로세스를 다시 생성하고 기존 프로세스는 종료된다. 문제는 CoCreateInstance로는 보호 모드가 설정된 IE 프로세스를 생성할 수가 없다는 점이다. 이를 해결하기 위해서는 보호 모드가 설정된 IE7에 대한 IWebBrowser2 인터페이스를.. 2007. 2. 23.
Windows Mobile 6 발표 Windows Mobile 6가 발표되었다. Windows Live를 이용해서 친구와 채팅이 가능하고 파일이나 이미지 교환도 가능하다고 한다. 또한 워드, 엑셀, 파워포인트 문서를 테이블이나 이미지의 손상없이 수정이 가능하다고 한다. Pocket PC Phone Edition은 Windows Mobile 6 "Professional"로 Smartphone은 "Standard"로 일반 Pocket PC는 "Classic"으로 명명되었다. MS가 스마트폰에 집중하고 있음이 보인다. 아래는 Windows Mobile 6의 주요 기능이다. - HTML support in email - Windows Live for Windows Mobile - File transfer capability in Windows L.. 2007. 2. 9.
웹호스팅 싼게 비지떡? 웹호스팅이 좀 필요해서 웹제로라는 업체에서 한시적으로 5년에 만원이라도 거의 공짜 같은 가격에 웹호스팅을 해주길래 신청해서 잠시 사용했었다. 그런데 이상하게 웹페이지 검색에 내 사이트가 안 나오는 게 아닌가? 뭔가 이상해서 문의했더니 robots.txt 및 모든 검색봇을 차단했다고 한다. 이유가 해킹 및 트래픽 때문이라고 했는데 납득이 가질 않았다. robots.txt나 검색봇하고 해킹은 아무런 상관이 없고 트래픽은 이미 웹호스팅 시에 일 1GB로 제한을 받고 있는 상황이었으니까. 내가 이해를 못 하겠다고 하니 어쩔 수 없는 부분이니 다른 호스팅 업체로 옮기라고 한다. 역시 싼게 비지떡이였던 것이다. 검색이 안 되는 웹사이트 누가 찾아 오겠나? 결국 다른 업체로 옮겼다. 옮긴 업체도 비싼 업체는 아니지만.. 2007. 2. 9.
Wii 뉴스 채널(영어) 영상 정말 멋지다. Wii의 코드네임인 Revolution이 전혀 아깝지 않은 멋진 기능(?)이다. 하루 빨리 한글판이 나와서 한글로 된 뉴스를 Wii로 보는 날이 왔으면 좋겠다. 한국닌텐도 제발 빨리 좀 부탁해요. 2007. 1. 27.
Windows Vista 과연 필요한가? 이제 Windows Vista의 출시가 말 그대로 초읽기에 들어갔다. 겉으로 보기엔 Windows XP와 많이 달라 보이긴 하지만 자세히 보면 결국 다른 건 화려한 UI와 UAC라는 일반 사용자에겐 어렵기만 한 보안 기능의 강화, 그리고 이미 널리 쓰이고 있는 데스크톱 검색이 거의 그 전부가 아닌가 싶다. 사실 개인적으로는 XP에 만족을 하고 있는 터라 Vista로의 업그레이드가 불필요하기만 하다. 하지만 대부분의 사용자는 Vista가 나오자 마자 설치해보려 할테고 여기 저기서 탄성과 불만의 소리로 떠들썩하리라고 본다. 새로운 Windows 버전이 나올 때마다 언제나 그래 왔듯이... Vista가 정말 새로운 OS의 한계일까? 왜 정말 혁신적인 OS가 못 나오고 있는지 모르겠다. 이전 버전과의 호환성 때.. 2007. 1. 27.
자동차세 미리 내고 할인받기 원래 1년에 6월, 12월 두 번에 나눠 내는 자동차세를 1월에 1년치를 미리 내면 10%를 할인해준다. 차량 주소지를 이전해도 유효하고 중간에 차량을 양도하거나 말소하더라도 일할 계산해서 돌려 받을 수 있다. 방법은 차량 등록지 관할구청 세무과에 문의하면 선납 고지서를 우편으로 받을 수 있고 서울의 경우는 인터넷(http://etax.seoul.go.kr)으로도 신청 및 전자납부가 가능하다. 그 외 지역도 자체 웹사이트에서 신청을 받는 경우도 있다. 인터넷 전자납부는 신용카드로도 납부가 가능하다. 나도 올 해는 자동차세 선납을 해볼 생각이다. 자동차세 선납 신청은 1월 16일 정도까지 해야 납부 고지서를 우편으로 받을 수 있고 아니면 직접 찾아가야 한다. 납부 기간도 1월 31일까지라니까 빨리 서두르는.. 2007. 1. 14.
애플이 컴퓨터를 버리다 애플컴퓨터사(Apple Computer, Inc.)가 드디어 컴퓨터를 이름에서 빼버리고 애플사(Apple, Inc.)로 사명을 변경한다고 발표했다. 사실 나도 그렇지만 대부분 애플이 애플컴퓨터라는 생각 자체를 별로 안 했었기 때문에 충격이라기 보단 '애플이 아직도 애플컴퓨터였어?' 이런 느낌이다. 이미 애플의 주력 사업은 컴퓨터 판매보다는 아이팟 판매이고 소프트웨어 판매도 하고 있으며 핸드폰, 홈 엔터테인먼트 쪽으로도 사업을 확장하고 있으니까. 그런 면에서 굳이 컴퓨터를 이름에서 제외한 것은 그만큼 다른 부분(아이팟이나 핸드폰 등)에 힘을 실어 주겠다는 얘기겠지. 앞으로 애플의 행보가 주목된다. 사실 이번에 발표한 iPhone 살짝 맘에 들었다. 2007. 1. 10.
NDSL 및 동시 발매 타이틀 예약판매 시작 NDSL과 동시 발매 타이틀인 매일매일 DS 두뇌 트레이닝, 듣고 쓰고 친해지는 DS 영어 삼매경이 온라인 쇼핑몰에서 예약판매를 실시하고 있다. 한글화 때문에 끌리긴 하는데 과연 내가 이걸 사서 할 시간이 있을까? 라는 생각이 자꾸만 들어서 망설여진다. Wii가 한글화해서 출시한다면 바로 살텐데 2007년 하반기라니 기다리기가 넘 힘드네. 2007. 1. 6.