PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/03/16 19:18:21
Name zergadis
Subject winapi 관련해서 질문 드려요.. ㅠㅠ
#include <windows.h>

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpszCmdLine, int nCmdShow)
{
    HWND      hwnd;
    MSG       msg;
    WNDCLASS     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(WHITE_BRUSH);
    WndClass.lpszMenuName  = NULL;
    WndClass.lpszClassName  = "Window Class Name";
    RegisterClass(&WndClass);
    hwnd = CreateWindow(  "Window Class Name",
        "Window Title Name",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        NULL,
        NULL,
        hInstance,
        NULL
        );
  
    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);
  
    while(GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
    HDC   hdc;
    PAINTSTRUCT ps;
    static TCHAR str[5][11];
    static int line;
    static int count;
    int  i;
    switch(iMsg)
    {
    case WM_CREATE:
        line = 0;
        count = 0;
        return 0;
    case WM_PAINT:
        hdc = BeginPaint(hwnd, &ps);
        for ( i = 0; i < 5; i++)
                {
            TextOut (hdc, 0, i*15, str[i], strlen(str[i]));  
        }      
                break;
        EndPaint(hwnd, &ps);
    case WM_CHAR:
        if(wParam == VK_BACK ) {
            if (count > 0)    count--;
                        str[line][count] = '\0';
        }
        else if(wParam == VK_RETURN)
        {
                        if ( count < 5-1 ){
                count = 0;
                line++;
                        }
            
        }
        else {
            if ( count < 10 ) {
                str[line][count] = wParam;
                                count++;
                                str[line][count] = 0 ;
                                if( count == 10)
                                {
                                        count=0;
                                        line++;
                                }
                        }
                        InvalidateRgn(hwnd, NULL, TRUE);
                        if(line==5&&count++)
                                {
                                if(MessageBox(hwnd,"라인이초과되었습니다.\n종료하시겠습니까?", "EXIT", MB_YESNO)==IDYES)
                                {
                                case WM_DESTROY:
                                PostQuitMessage(0);
                                return 0;
                                }
                                else
                                {

                                }
                                
        }
                        
                }
                InvalidateRgn(hwnd, NULL, TRUE);
    }
    return DefWindowProc(hwnd, iMsg, wParam, lParam);
}


    
코드는 저렇게 만들었는데..        
대략 내용은 10자 5라인을 받을 수 있는건데..        
먼저 5라인 10자째 한글자를 더 입력을 하면 메시지 처리가 되게 만들었는데..        
아무리 해도 엔터로만 5라인 다 채우구 한번더 엔터를 쳤을때는 종료 하시겠습니까 하는 메시지가 어떻게 해도 안나오네요..        
어디를 수정 해야 될까요??        

        

부탁드립니다.. ㅠㅠ        


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
큐리스
10/03/17 01:54
수정 아이콘
질문이 잘 이해가 안 가는데요... ~_~;
한참 생각해본 결과 엔터쳤을 때 종료 메시지 박스가 안 뜬다고 하신거라면...
메시지 박스 띄우는 것을
else if(wParam == VK_RETURN)
문 밖에 있는 "else"문에서 처리하니까 당연히 엔터쳤을 때는 처리를 안 하겠죠.
라는 생각인데...
질문이 이해가 안 가서 맞게 대답한 건지 모르겠네요.
zergadis
10/03/17 04:15
수정 아이콘
음.. ㅠㅠ 일단 해결은 했습니다..!! ^^
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
76890 온게임넷 경기 진행하는 용산이 어느정도 크기인가요? [3] 소주는C11867 10/03/16 1867
76889 간단한 영어 질문입니다. [2] 2331 10/03/16 2331
76888 김병현 선수 거취에 대한 질문 [3] DeadOrUndead1839 10/03/16 1839
76887 옛날 드라마 중에 '진실'이라는 드라마 아시는 분 [1] DavidCoverdale1916 10/03/16 1916
76886 컴퓨터 마우스 문제 ㅠㅠ [1] kikira1594 10/03/16 1594
76885 다크써클용 아이크림 추천좀~ [1] Yuki1665 10/03/16 1665
76884 이런 노래 비슷한 노래 추천 부탁드립니다 모모홍차2079 10/03/16 2079
76883 멤버가 홀수라는건 무한도전 진행측면에서 어떤 영향을 미칠까요? [14] 비마나스1916 10/03/16 1916
76882 인터넷에서 재생되는 영상을 파일로 저장하고 싶은데요. [3] 니가생각하는1888 10/03/16 1888
76881 화학 생물 공부 관련 질문입니다 [4] goEngLanD2207 10/03/16 2207
76880 시사 주간지 추천 좀 부탁드립니다. [13] 솔로처7261 10/03/16 7261
76879 PS3을 구입하려고하는데요.. [8] TheLazy2216 10/03/16 2216
76878 요즘 중고딩여자애들은 가방 다이런식으로 메나요? [17] DynamicToss3536 10/03/16 3536
76876 winapi 관련해서 질문 드려요.. ㅠㅠ [3] zergadis1523 10/03/16 1523
76875 영어 문법 질문 드립니다. [5] november111294 10/03/16 1294
76874 컴퓨터 사양 급질문입니다. [4] Ace of Base2354 10/03/16 2354
76873 포모스 구자게에 들어가고싶습니다.. [2] 학벌에찌든놈2670 10/03/16 2670
76872 Bass 로퍼 / 남자 구두 갈색 추천 nicht3020 10/03/16 3020
76870 예비군 관련 질문인데요.. [12] 삭제됨3168 10/03/16 3168
76869 조금 특이하거나 아이디어 상품 파는 쇼핑몰 아시나요? [6] soulcrying2764 10/03/16 2764
76868 통계문제질문입니다-_-; [3] Wow2050 10/03/16 2050
76867 한국의 지질계통표 구할수 있는데 있나요? [1] Alexandre6405 10/03/16 6405
76866 MSL 스폰서 아직 못구했나요?? [7] 어두운남자2793 10/03/16 2793
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로