Search

'CF_BITMAP'에 해당되는 글 2건

  1. 2007.01.30 CF_BITMAP 사용하기
  2. 2007.01.25 클립보드에서 이미지 읽기

CF_BITMAP 사용하기

Projects/CoVNC 2007.01.30 20:46 Posted by soulfree >동네청년<
 // to set a bitmap to a button, load a 32x32 bitmap
   // and copy it to clipboard. Call CommandBarButton's PasteFace()
   // to copy the bitmap to the button face. to use
   // Outlook's set of predefined bitmap, set button's FaceId to     //the
   // button whose bitmap you want to use
   HBITMAP hBmp =(HBITMAP)::LoadImage(_Module.GetResourceInstance(),
   MAKEINTRESOURCE(IDB_BITMAP1),IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);

   // put bitmap into Clipboard
   ::OpenClipboard(NULL);
   ::EmptyClipboard();
   ::SetClipboardData(CF_BITMAP, (HANDLE)hBmp);
   ::CloseClipboard();
   ::DeleteObject(hBmp);       
   // set style before setting bitmap
   spCmdButton->PutStyle(Office::msoButtonIconAndCaption);
신고

'Projects > CoVNC' 카테고리의 다른 글

BMP를 DDB로 변환  (0) 2007.02.01
비트맵 파일 저장하고 읽기  (0) 2007.02.01
CF_BITMAP 사용하기  (0) 2007.01.30
클립보드에서 이미지 읽기  (0) 2007.01.25
Swap16IfLE() 매크로  (0) 2007.01.24
자바 이미지 저장  (0) 2007.01.24

클립보드에서 이미지 읽기

Projects/CoVNC 2007.01.25 04:17 Posted by soulfree >동네청년<
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
char Mes[]="왼쪽 버튼을 비트맵 복사, 오른쪽 버튼은 비트맵 붙이기";
HBITMAP hBit,hOldBitmap;
HDC hmemDC;
BITMAP bmp; //비트맵 구조체 DDB형식

switch(message)
{
case WM_CREATE:
if(OpenClipboard(hWnd))
{
EmptyClipboard();
CloseClipboard();
}
return 0;
case WM_LBUTTONDOWN:
//리소스타입인 DIB를 DDB형식으로 변환함
hBit=LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP1));
if(OpenClipboard(hWnd))
{
EmptyClipboard();
SetClipboardData(CF_BITMAP,hBit);
CloseClipboard();
}
return 0;
case WM_RBUTTONDOWN:
//클립보드상에 들어있는지 없는지 여부
if(!IsClipboardFormatAvailable(CF_BITMAP))
return 0;
if(OpenClipboard(hWnd))
{
hBit=(HBITMAP)GetClipboardData(CF_BITMAP);
CloseClipboard();
hdc=GetDC(hWnd);
//화면DC 핸들을 주면 동일한 특성을 지닌 DC를 메모리에 만들고 핸들을 리턴
hmemDC=CreateCompatibleDC(hdc);
//클립보드에 얻은 비트맵을 메모리DC에 선택하고 HBITMAP캐스팅(원래 HGDIOBJ)
hOldBitmap=(HBITMAP)SelectObject(hmemDC,hBit);
//조사하고자 하는 핸들이 첫번째 인수 비트맵의 폭, 높이, 색상 정보만 조사됨
GetObject(hBit,sizeof(BITMAP),&bmp);
//메모리DC내용을 화면 DC에 복사
BitBlt(hdc,0,0,bmp.bmWidth,bmp.bmHeight,hmemDC,0,0,SRCCOPY);
SelectObject(hmemDC,hOldBitmap);
DeleteDC(hmemDC);
ReleaseDC(hWnd,hdc);
}
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
TextOut(hdc,100,100,Mes,strlen(Mes));
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
신고

'Projects > CoVNC' 카테고리의 다른 글

비트맵 파일 저장하고 읽기  (0) 2007.02.01
CF_BITMAP 사용하기  (0) 2007.01.30
클립보드에서 이미지 읽기  (0) 2007.01.25
Swap16IfLE() 매크로  (0) 2007.01.24
자바 이미지 저장  (0) 2007.01.24
자바 드래그엔 드랍, 클립보드 튜토리얼  (0) 2007.01.23