C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[39028] Re:코드의 일부입니다... 무슨 C++ 인지 알 수 없을까요?? VC++은 아닌듯한데..
조준회 [makerjh] 1302 읽음    2005-02-03 16:01
MFC나 VCL 같은 클래스 라이브러리를 사용하지 않은 순수 API로 코딩한것입니다.

이건 어느컴파일러든 다 컴파일될겁니다.
찰스 페촐드의 프로그래밍 윈도우즈  시리즈를 서적을 참고하세요.


곽성주 님이 쓰신 글 :
: // 윈도우즈 API
: LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
: // 실행윈도우 설정 및 실행
: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
:            PSTR szCmdLine, int iCmdShow)
: {
:     static char szAppName[] = "SvmToy";    // 실행파일명
:     MSG msg;
:     WNDCLASSEX wndclass;
:
:     wndclass.cbSize = sizeof(wndclass);
:     wndclass.style = CS_HREDRAW | CS_VREDRAW;
:     wndclass.lpfnWndProc = WndProc;
:     wndclass.cbClsExtra = 0;
:     wndclass.cbWndExtra = 0;
:     wndclass.hInstance = hInstance;
:     wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
:     wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
:     wndclass.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);
:     wndclass.lpszMenuName = NULL;
:     wndclass.lpszClassName = szAppName;
:     wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
:
:     RegisterClassEx(&wndclass);
:
:     main_window = CreateWindow(szAppName,    // window class name
:                     "SVM Toy",    // 윈도우 캡션
:                     WS_OVERLAPPEDWINDOW,// window style
:                     CW_USEDEFAULT,    // initial x position
:                     CW_USEDEFAULT,    // initial y position
:                     XLEN,    // initial x size
:                     YLEN+52,    // initial y size
:                     NULL,    // parent window handle
:                     NULL,    // window menu handle
:                     hInstance,    // program instance handle
:                     NULL);    // creation parameters
:
:     ShowWindow(main_window, iCmdShow);
:     UpdateWindow(main_window);
:    // 포인트색 변경버튼
:     CreateWindow("button", "Change", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
:              0, YLEN, 50, 25, main_window, (HMENU) ID_BUTTON_CHANGE, hInstance, NULL);
:    // 분류시작 버튼
:     CreateWindow("button", "Run", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
:              50, YLEN, 50, 25, main_window, (HMENU) ID_BUTTON_RUN, hInstance, NULL);
:    // 화면삭제 버튼
:     CreateWindow("button", "Clear", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
:              100, YLEN, 50, 25, main_window, (HMENU) ID_BUTTON_CLEAR, hInstance, NULL);
:    // 화면저장 버튼
:     CreateWindow("button", "Save", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
:              150, YLEN, 50, 25, main_window, (HMENU) ID_BUTTON_SAVE, hInstance, NULL);
:    // 불러오기 버튼
:     CreateWindow("button", "Load", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
:              200, YLEN, 50, 25, main_window, (HMENU) ID_BUTTON_LOAD, hInstance, NULL);
:    // 파라미터 수정창
:     edit = CreateWindow("edit", NULL, WS_CHILD | WS_VISIBLE,
:                     250, YLEN, 250, 25, main_window, (HMENU) ID_EDIT, hInstance, NULL);
:    // 처음부터 수정시작
:     Edit_SetText(edit,DEFAULT_PARAM);
:    // 포인트 색상
:     brush1 = CreateSolidBrush(colors[4]);
:     brush2 = CreateSolidBrush(colors[5]);
:     brush3 = CreateSolidBrush(colors[6]);
:
:     window_dc = GetDC(main_window);
:     buffer = CreateCompatibleBitmap(window_dc, XLEN, YLEN);
:     buffer_dc = CreateCompatibleDC(window_dc);
:     SelectObject(buffer_dc, buffer);
:     PatBlt(buffer_dc, 0, 0, XLEN, YLEN, BLACKNESS);
:
:     while (GetMessage(&msg, NULL, 0, 0)) {
:         TranslateMessage(&msg);
:         DispatchMessage(&msg);
:     }
:     return msg.wParam;
: }  // 실행 윈도우 설정
:
: //---------------------------------------------------------------------------
: // 파일명 얻기
: int getfilename( HWND hWnd , char *filename, int len, int save)
: {
:     OPENFILENAME OpenFileName; // OpenDialog
:     memset(&OpenFileName,0,sizeof(OpenFileName));
:     filename[0]='\0';
:
:     OpenFileName.lStructSize       = sizeof(OPENFILENAME);
:     OpenFileName.hwndOwner         = hWnd;
:     OpenFileName.lpstrFile         = filename;
:     OpenFileName.nMaxFile          = len;
:     OpenFileName.Flags             = 0;
:
:     return save?GetSaveFileName(&OpenFileName):GetOpenFileName(&OpenFileName);
: }

+ -

관련 글 리스트
39024 코드의 일부입니다... 무슨 C++ 인지 알 수 없을까요?? VC++은 아닌듯한데.. 곽성주 1040 2005/02/03
39028     Re:코드의 일부입니다... 무슨 C++ 인지 알 수 없을까요?? VC++은 아닌듯한데.. 조준회 1302 2005/02/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.