Loading...
2010. 6. 9. 19:25

FileChecker

특정파일 중복 체크 폴더내 중복파일 체크 최소사이즈 파일 체크 파일 체크한다고 만들긴 했지만... 답답하다... wrning도 잔뜩있고. 기본적인 처리도 몇개 안되어 있지만... 더이상 작업할 필요가없네...어차피.안쓰니까.헐헐.

마우스 커서 설정.

툴프로그램을 만들다 보면 시간을 많이 잡아먹는 기능을 추가해야 할 때가 있다. 그럴때는 사용자를 배려하는 마음으로 커서를 바꿔주자. // 모래시계 커서 HCURSOR hWaitCursor = ::LoadCursor(NULL, IDC_WAIT); HCURSOR hCursor = SetCursor( hWaitCursor ); .... // 커서복귀 SetCursor( hCursor );

unicode에서 한글출력

유니코드기반에서 fputws로출력을 하는데 이상하게 한글부분이 출력이 안된다. 유니코드기반의 함수에서 한글을 출력하기 위해서는 #include "locale.h" ... _wsetlocale(LC_ALL, L"korean"); ... wprintf(...) or fputws(...); 이러한 설정을해주어야 한다.

폴더지정 창 열기

CString strFolderName = _T("") ITEMIDLIST *pildBrowse; char pszPathname[MAX_FOLDERNAME_SIZE]; BROWSEINFO bInfo; memset( &bInfo, 0, sizeof(bInfo)); bInfo.hwndOwner = GetSafeHwnd(); bInfo.pidlRoot = NULL; bInfo.pszDisplayName = pszPathname; bInfo.lpszTitle = _T("폴더를 선택하세요"); bInfo.ulFlags = BIF_RETURNONLYFSDIRS; pildBrowse = ::SHBrowseForFolder(&bInfo); if( pildBrowse != NULL ) { SHGetPathFromIDLi..

IDXGIFactory::MakeWindowAssociation Method (Windows)

IDXGIFactory::MakeWindowAssociation Method Allows DXGI to monitor an application's message queue for the alt-enter key sequence (which causes the application to switch from windowed to fullscreen or vice versa). Syntax Copy HRESULT MakeWindowAssociation( [in] HWND WindowHandle, [in] UINT Flags ); Parameters WindowHandle [in] HWND The handle of the window that is to be monitored. This parameter c..

STL의 std::string::find_last_of 사용 시 주의 사항

출처 : http://alones.kr/blog/627 요즘 블로깅을 통 못했다. 1주일 정도.. 바쁘다는 핑계로 너무 게을러 진 것 같아서... 다시 매진해 본다. STL의 find_last_of를 착각하고 쓴 적이 있어서 이에 대해서 써보았다. in my wiki: http://alones.byus.net/moniwiki/wiki.php/find_last_of?action=show initial version: 2007.05.22 목차 1 결론 2 find_last_of의 가능한 착각 3 마지막 matching 되는 str의 index를 찾는 경우는 rfind()를 4 또 하나의 가능한 실수 size_t 5 Reference [edit] 1 결론 # 결론 부터 이야기 하면 STL의 std::strin..

InterlockedIncrement(), InterlockedDecrement()

상호잠금 함수(interlocked function)들은 다른 동기화 방법들에 비해 간단하고 빠르며 스레드를 차단하지도 않는다는 장점을 가지고 있다. Windows 의 상호잠금 함수는 InterlockedIncrement() 와 InterlockedDecrement() 이다. 이들은 32비트 부호 있는 정수들에 적용된다. 상호잠금 함수를 사용할 때, 주의할 점은 아래와 같다. * InterlockedIncrement 함수를 호출한 쓰레드가 N 의 새 값을 사용하기 전에 다른 쓰레드가 N 의 값을 변경할 가능성이 존재한다. * N 을 2 증가하기 위해서 InterlockedIncrement 함수를 연달아 두 번 호출하는 것은 위험하다. 이는 그 두 호출 사이에 다른 스레드가 실행될 가능성이 존재하기 때문이..

2010. 6. 4. 01:02

반사

반사는.복잡하지만..평면반사는그다지.어렵지않다. 내부 내용은제꾸고.D2DXMatrixReflect함수를 쓰는게야. D3DXMATRIX T, R; // 반사행렬을 계산. D3DXPLANE plane(0.0f, 0.0f, 1.0f, -5.0f); D3DXMatrixReflect(&R, &plane); matWorld = matObjWorld * R; 반사된 장면을 렌더링할때는 거울내부에만 그려지도록 해야 하는데 이를 위해 스텐실버퍼를 사용해야 한다. - 일반 장면을 그린다. - 스텐실버퍼를 0으로 초기화한다. - 스텐실 버퍼에서 거울에 해당하는 픽셀들만 1의 값을 가지도록 한다. - 거울영역에 반사된 물체들을 그린다. 거울에 해당하는 삼각형을 렌더링할때는 스텐실버퍼만 변경되도록 지정해야 한다. 그릴때에 스텐..