분류 전체보기
-
단위 테스트 - C++개발/테스트 2009. 5. 25. 22:03
#include "apImage8.h" #include "unitTest.h" UTFUNC(image8) { setDescription ("apImage8"); apImage8 p2 (640, 480); VERIFY(p2.width() == 640); VERIFY(p2.height() == 480); ... } int main(int argc, char* argv[]) { bool state = apUnitTest::gOnly().run(); apUnitTest::gOnly().dumpResults(std::cout); return state; }
-
스마트 포인터디자인 패턴 2009. 5. 25. 21:35
핸들 클래스 이디엄 스마트 포인터 자원에 대한 초기화 파일 자원 락 동적 할당 메모리(배열) 메모리 할당 객체 참조 카운팅으로 자동으로 삭제 복사 생성자와 대입 연산자를 작성하지 않아도 되게 해준다. 복사에 의한 오버헤드가 거의 없다. 임시 메모리 개체에 대한 걱정을 덜어주고, 코드의 가독성을 상당히 향상시킨다. #include "allocTmpl.h" typedef unsigned char Pel8; apAlloc pixels_; // Pixel data pixels_ = apAlloc (width*height); RAII 자원 획득은 초기화 스택 리와인드 시 소멸자에 의해서 자원 해제가 자동으로 이루어진다. 생성자가 호출되면서 예외가 발생하는 경우에는 그 객체에 대한 소멸자가 호출되지 않는다. std..
-
GUI 제어 2 - WindowsGUI/컨트롤 2009. 5. 19. 18:54
메뉴 WM_COMMAND에서 validation을 한다. 액셀러레이터 툴바 6개의 표준 컨트롤 95이후에 추가된 공통 컨트롤 ActiveX 컨트롤 스타일 메시지 통지 메시지 서브클래싱 차일드 컨트롤 ID 추가 리소스 뷰 dialog > 오른 클릭 > Resource Symbols > New... CreateWindow() DestroyWindow() GetDlgCtrlID() hMenu GetWindowLong()/SetWindowLong() GWL_ID GetWindowText() WM_GETTEXT SetWindowText() WM_SETTEXT GetDlgItem() GetDlgItemText() SetDlgItemText() 정수인 경우 GetDlgItemInt() SetDlgItemInt() W..
-
Win32GUI/리소스 2009. 5. 18. 23:17
ICO BMP CUR BeginUpdateResource() EndUpdateResource() UpdateResource() RT_RCDATA LoadLibrary() FreeLibrary() FindResource() LoadResource() FreeResource() DestroyAcceleratorTable() // Accelerator table DeleteObject() // Bitmap DestroyCursor() // Cursor DestroyIcon() // Icon DestroyMenu() // Menu LockResource() //UnlockResource() SizeofResource() // ? LoadMenu() SetMenu() CreateMenu() DestroyMenu(..
-
슬라이더(트랙바) 컨트롤 - Win32GUI/컨트롤 2009. 5. 18. 17:38
TBM_SETRANGE TBM_SETPOS TBM_GETPOS WM_HSCROLL TB_THUMBTRACK TB_ENDTRACK void InitSlider(HWND hwnd) { // Initialize the trackbar range, but disable the // control until the user opens a file. hScroll = GetDlgItem(hwnd, IDC_SLIDER1); SendMessage(hScroll, TBM_SETRANGE, TRUE, MAKELONG(0, 100)); } SendMessage( hScroll, TBM_SETPOS, TRUE, sliderTick ); static BOOL bStartOfScroll = TRUE; case WM_HSCROLL..
-
시리얼 포트 - Win32Platform/File(장치 IO) 2009. 5. 18. 17:03
CreateFile() CloseHandle() GetCommState() SetCommState() SetCommTimeouts() WriteFile() HWND hWndCopy; // 스레드를 위한 핸들의 카피 HANDLE hFile; // 파일 핸들 int g_nSwitch; // 읽어오기 전용 스레드 DWORD RecvData( VOID * dummy ) { DWORD dwByte; char szRecv[10]; int nRet; while (g_nSwitch) { // 한 문자 수신 nRet = ReadFile(hFile, szRecv, 1, &dwByte, 0); // ReadFile()은 성공하면 0이외를 반환, 타임아웃도 성공 if (dwByte == 1) { SetWindowText(hW..