'Programming > T *Omnia' 카테고리의 다른 글
| 옴니아(M490/5) LED 및 진동 ON OFF하기!! (2) | 2010/03/01 |
|---|---|
| PlaySound를 이용한 재생 및 정지 방법 (0) | 2009/12/21 |
| MessageBox 응답~ (0) | 2009/12/08 |
| SetCapture (0) | 2009/12/08 |
| Thread~~ (0) | 2009/12/08 |
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |


| 옴니아(M490/5) LED 및 진동 ON OFF하기!! (2) | 2010/03/01 |
|---|---|
| PlaySound를 이용한 재생 및 정지 방법 (0) | 2009/12/21 |
| MessageBox 응답~ (0) | 2009/12/08 |
| SetCapture (0) | 2009/12/08 |
| Thread~~ (0) | 2009/12/08 |
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
| 옴니아(M490/5) LED 및 진동 ON OFF하기!! (2) | 2010/03/01 |
|---|---|
| PlaySound를 이용한 재생 및 정지 방법 (0) | 2009/12/21 |
| MessageBox 응답~ (0) | 2009/12/08 |
| SetCapture (0) | 2009/12/08 |
| Thread~~ (0) | 2009/12/08 |
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
버튼들응답~
#define IDOK 1
#define IDCANCEL 2
#define IDABORT 3
#define IDRETRY 4
#define IDIGNORE 5
#define IDYES 6
#define IDNO 7
메세지박스 버튼 종류
#define MB_OK 0x00000000L
#define MB_OKCANCEL 0x00000001L
#define MB_ABORTRETRYIGNORE 0x00000002L
#define MB_YESNOCANCEL 0x00000003L
#define MB_YESNO 0x00000004L
#define MB_RETRYCANCEL 0x00000005L
메세지박스 아이콘 경고 나 물음표 등등...
#define MB_ICONHAND 0x00000010L
#define MB_ICONQUESTION 0x00000020L
#define MB_ICONEXCLAMATION 0x00000030L
#define MB_ICONASTERISK 0x00000040L
if(IDYES ==MessageBox(_T("메세지 내용?"),_T("메세지박스 타이틀바"),MB_YESNO| MB_ICONQUESTION))
{
//YES시 수행할것들~~~
}
else
{
//NO했을때 하는것들
}
| 옴니아(M490/5) LED 및 진동 ON OFF하기!! (2) | 2010/03/01 |
|---|---|
| PlaySound를 이용한 재생 및 정지 방법 (0) | 2009/12/21 |
| MessageBox 응답~ (0) | 2009/12/08 |
| SetCapture (0) | 2009/12/08 |
| Thread~~ (0) | 2009/12/08 |
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
| 출처 주소 : http://www.tipssoft.com/bulletin/tb.php/FAQ/101 |
1. 함수의 원형
CWnd* SetCapture(); 2. 함수의 기능 일반적으로 활성화된 윈도우는 자신의 영역내에서 마우스를 움직이면 WM_MOUSEMOVE와 같은 마우스 메시지를 받게 됩니다. 하지만, 해당 윈도우의 영역을 벗어나면 윈도우의 활성화 여부와는 상관없이 해당 윈도우는 마우스 메시지를 받지 못합니다. 프로그램을 하다보면 마우스 커서 좌표가 활성화된 윈도우 영역을 벗어나더라도 지속적으로 마우스
메시지를 받아야 하는 경우(그림판, 객체 에디트 같은 프로그램 작성시)가 발생하는데, 이럴 때 사용하는 함수가 SetCapture 함수입니다. 3. 함수의 반환값 자신이 SetCapture 함수를 호출하기 전에 다른 윈도우가 SetCapture 함수를 사용하여 마우스 메시지를 점유하고 있었다면 해당 윈도우 객체의 주소를 반환합니다. 만약, 그런 윈도우가 없었다면 NULL을 반환하게 됩니다. 이 반환 값은 임시 객체일 가능성이 있기 때문에 전역변수나 멤버변수에 저장하여 계속 사용할
경우 문제가 발생할 수 있습니다.
4. 함수 사용시 주의사항 마우스 메시지를 점유하다가 상황을 해제하고 싶다면 ReleaseCapture 함수를 사용하면 됩니다. ReleaseCapture 함수를 사용하면 해당 윈도우는 마우스 커서가 자신의 영역을 벗어나게 되었을 때 더 이상 마우스 메시지를 받지 않습니다. 일반적으로 SetCapture 함수를 사용했다면 사용이 끝난 후에 ReleaseCapture 함수를 호출하여
다른 윈도우와의 메시지 점유에 대한 충돌을 피하는것이 좋습니다. 5. 사용 예제 // 마우스 메시지를 점유해야 하는 시점에 아래와 같이 함수를 호출한다.
// SetCapture 함수는 지속적으로 유지되는 함수이기 때문에 특정 메시지처리 함수에서 // 호출하고 해당 함수가 종료되어도 계속 유지됩니다. 즉, ReleaseCapture 함수를 호출 // 할때까지 계속 유지됩니다. SetCapture(); // 더이상 마우스 메시지를 점유할 필요가 없는 경우는 아래와 같이 함수를 호출하면 됩니다. ReleaseCapture(); |
| PlaySound를 이용한 재생 및 정지 방법 (0) | 2009/12/21 |
|---|---|
| MessageBox 응답~ (0) | 2009/12/08 |
| SetCapture (0) | 2009/12/08 |
| Thread~~ (0) | 2009/12/08 |
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
| MFC 컨트롤 숨기기/caption 새기기 (1) | 2009/12/07 |
| MessageBox 응답~ (0) | 2009/12/08 |
|---|---|
| SetCapture (0) | 2009/12/08 |
| Thread~~ (0) | 2009/12/08 |
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
| MFC 컨트롤 숨기기/caption 새기기 (1) | 2009/12/07 |
| vs2008 배포경로 바꾸기 (0) | 2009/06/11 |
| SetCapture (0) | 2009/12/08 |
|---|---|
| Thread~~ (0) | 2009/12/08 |
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
| MFC 컨트롤 숨기기/caption 새기기 (1) | 2009/12/07 |
| vs2008 배포경로 바꾸기 (0) | 2009/06/11 |
| 이미지뿌리기~초기작업할때 쓰던거~ (0) | 2009/06/11 |
이런 간단한것도 못하고있었다니 ㅠㅠ
비베만 잡고있는게 아니였는데 ㅠㅠ 후회스럽다~~~
차근차근 하나씩 알아가야지~
GetDlgItem(IDC_BUTTON1)->SetWindowText("Caption");
GetDlgItem(IDC_BUTTON2)->ShowWindow(FALSE);
| Thread~~ (0) | 2009/12/08 |
|---|---|
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
| MFC 컨트롤 숨기기/caption 새기기 (1) | 2009/12/07 |
| vs2008 배포경로 바꾸기 (0) | 2009/06/11 |
| 이미지뿌리기~초기작업할때 쓰던거~ (0) | 2009/06/11 |
| 메뉴 추가하기~ (0) | 2009/06/11 |
프로젝트 속성에서
배포-원격디렉토리에 \test\bin
디버깅-원격실행파일에 \test\bin\test.exe
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
|---|---|
| MFC 컨트롤 숨기기/caption 새기기 (1) | 2009/12/07 |
| vs2008 배포경로 바꾸기 (0) | 2009/06/11 |
| 이미지뿌리기~초기작업할때 쓰던거~ (0) | 2009/06/11 |
| 메뉴 추가하기~ (0) | 2009/06/11 |
| 파일열기 다이얼로그 사용(bmp) (1) | 2009/06/11 |
//CFile file;
// BITMAPFILEHEADER bmfh;
// DWORD dwFileSize, dwDibSize;
// BYTE* pDib = NULL;
//
// file.Open(_T("\\Storage Card\\test\\dialer_bg1.bmp"), CFile::modeRead | CFile::shareDenyWrite, NULL);
//
// dwFileSize = (DWORD)file.GetLength();
// dwDibSize = dwFileSize - sizeof(BITMAPFILEHEADER);
//
// pDib = new BYTE[dwDibSize];
//
// file.Read(&bmfh, sizeof(BITMAPFILEHEADER));
// file.Read(pDib, dwDibSize);
//
// file.Close();
//
// BITMAPINFOHEADER* lpbmih;
// BYTE* lpvBits;
// int w, h, c;
//
// lpbmih = (BITMAPINFOHEADER*)pDib;
// w = lpbmih->biWidth;
// h = lpbmih->biHeight;
// c = lpbmih->biBitCount;
// if(c ==24)
// lpvBits = (BYTE*)pDib +sizeof(BITMAPINFOHEADER);
// else
// lpvBits = (BYTE*)pDib + sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD)*(1<<c);
//
//
// CClientDC dc(this);
//::SetDIBitsToDevice (dc.m_hDC, 0,0,w,h,0,0,0,h,lpvBits,(BITMAPINFO*)pDib,DIB_RGB_COLORS);
// delete [] pDib;
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
((CButton*)GetDlgItem(IDC_CMD_LOAD))->ShowWindow(SW_HIDE);
CClientDC dc(this);
CDC memDC;
int i;
CBitmap bitPlay[16];
memDC.CreateCompatibleDC(&dc);
for(i=0;i<16;i++)
{
bitPlay[i].LoadBitmapW(IDB_BITMAP1 + i);
}
//bitPlay.LoadBitmapW(IDB_BITMAP1);
CPoint TransePoint[15];
TransePoint[0].x = 0; TransePoint[0].y = 0 + 259;
TransePoint[1].x = 160; TransePoint[1].y = 0 + 259;
TransePoint[2].x = 320; TransePoint[2].y = 0 + 259;
TransePoint[3].x = 0; TransePoint[3].y = 88 + 259;
TransePoint[4].x = 160; TransePoint[4].y = 88 + 259;
TransePoint[5].x = 320; TransePoint[5].y = 88 + 259;
TransePoint[6].x = 0; TransePoint[6].y = 176 + 259;
TransePoint[7].x = 160; TransePoint[7].y = 176 + 259;
TransePoint[8].x = 320; TransePoint[8].y = 176 + 259;
TransePoint[9].x = 0; TransePoint[9].y = 264 + 259;
TransePoint[10].x = 160; TransePoint[10].y = 264 + 259;
TransePoint[11].x = 320; TransePoint[11].y = 264 + 259;
TransePoint[12].x = 0; TransePoint[12].y = 352 + 259;
TransePoint[13].x = 160; TransePoint[13].y = 352 + 259;
TransePoint[14].x = 320; TransePoint[14].y = 352 + 259;
memDC.SelectObject(bitPlay[0]);
dc.BitBlt(0,0 ,480,695, &memDC,0,0,SRCCOPY);
for(i = 1;i <=12;i++)
{
memDC.SelectObject(bitPlay[i]);
dc.BitBlt(TransePoint[i-1].x,TransePoint[i-1].y,160,88, &memDC,0,0,SRCCOPY);
}
for(i = 13;i <=15;i++)
{
memDC.SelectObject(bitPlay[i]);
dc.BitBlt(TransePoint[i-1].x,TransePoint[i-1].y,160,84, &memDC,0,0,SRCCOPY);
}
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
|---|---|
| MFC 컨트롤 숨기기/caption 새기기 (1) | 2009/12/07 |
| vs2008 배포경로 바꾸기 (0) | 2009/06/11 |
| 이미지뿌리기~초기작업할때 쓰던거~ (0) | 2009/06/11 |
| 메뉴 추가하기~ (0) | 2009/06/11 |
| 파일열기 다이얼로그 사용(bmp) (1) | 2009/06/11 |
|
OnInitDialog() |
memset(&mbi, 0x00, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = this->m_hWnd;
mbi.nToolBarId = 리소스 메뉴 ID;
mbi.dwFlags = SHCMBF_HMENU;
mbi.hInstRes = AfxGetInstanceHandle();
SHCreateMenuBar(&mbi);
}
| MFC 버튼 다운 구현~ (0) | 2009/12/08 |
|---|---|
| MFC 컨트롤 숨기기/caption 새기기 (1) | 2009/12/07 |
| vs2008 배포경로 바꾸기 (0) | 2009/06/11 |
| 이미지뿌리기~초기작업할때 쓰던거~ (0) | 2009/06/11 |
| 메뉴 추가하기~ (0) | 2009/06/11 |
| 파일열기 다이얼로그 사용(bmp) (1) | 2009/06/11 |
댓글을 달아 주세요
비밀댓글입니다
흠 그건 잘모르겠네요^^;; 저건 자기가 개발한 어플에서 적용시키는거지 이미 만든어플을 변경시키는 용도가 아니랍니다^^;;