ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [API]TextOut
    C/C++ 2015. 3. 12. 23:36

    TextOut함수는 문자열을 출력해주는 함수이다.


    BOOL TextOut(HDC hdc,int nXStart,int nYStart,LPCTSTR lpString, int cbString);


    TextOut원형이다.


    DC의 팬들인 hdc, 출력할 XY좌표, 출력할문자혹은 문자열, 출력할문자열의 길이


    ex)TextOut(hdc,100,100,TEXT("HELLO WORLD"),11);

    ex2)TCHAR *str = TEXT("HELLO WORLD");

    TextOut(hdc,100,100,str,lstrlen(str));


    이렇게하면 문자열의 길이를 신경쓰지않아도된다.


    소스코드를 보자


    #include <Windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); HINSTANCE g_hInst; LPCTSTR IpszClass = TEXT("First"); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpszCmdParam, int nCmdShow) { HWND hWnd; WNDCLASS WndClass; MSG Message; g_hInst = hInstance; WndClass.cbClsExtra = 0; WndClass.cbWndExtra = 0; WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); WndClass.hCursor = LoadCursor(NULL, IDC_ARROW); WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION); WndClass.hInstance = hInstance; WndClass.lpfnWndProc = WndProc; WndClass.lpszClassName = IpszClass; WndClass.lpszMenuName = NULL; WndClass.style = CS_HREDRAW | CS_VREDRAW; RegisterClass(&WndClass); hWnd = CreateWindow(IpszClass, IpszClass, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, (HMENU)NULL, hInstance, NULL); ShowWindow(hWnd, nCmdShow); while (GetMessage(&Message, NULL, 0, 0)) { TranslateMessage(&Message); DispatchMessage(&Message); } return (int)Message.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam) { HDC hdc; switch (iMessage) { case WM_LBUTTONDOWN: hdc = GetDC(hWnd); TextOut(hdc, 100, 100, TEXT("HELLO WORLD"), 11); ReleaseDC(hWnd, hdc); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return (DefWindowProc(hWnd, iMessage, wParam, lParam)); }


    WM_LBUTTONDOWN 메세지를 받아들이면 DC를구하고, 출력을시키는구조이다.


    메세지루프에서 LBUTTON을 받아들이면 바로 출력된다.





    처음엔 빈화면이지만 클릭이벤트를 주게되면 곧바로 출력이된다.



    'C/C++' 카테고리의 다른 글

    [API]MessageBox  (0) 2015.03.12
    [API]WM_PAINT  (0) 2015.03.12
    [API]WndProc  (0) 2015.03.12
    [API]Message Loop  (0) 2015.03.12
    API 기초(2)  (0) 2015.03.12

    댓글

Designed by Tistory.