티스토리 뷰

프로그래밍/API

API 에디트박스, Edit

에어버스 2016. 4. 30. 14:36

에디트박스

이벤트 발생하면 WM_COMMAND 발생하고 통지 메시지는를 LOWORD(wParam)로 전달한다. 

스타일

ES_AUTOHSCROLL    
ES_AUTOVSCROLL
ES_CENTER
ES_LEFT
ES_RIGHT
ES_MULTILINE
ES_PASSWORD
ES_READONLY
ES_WANTRETURN    엔터키 동작하게 한다

통지 메시지

EN_CHANGE    문자열 변경되었을때
EN_HSCROLL    수평 스크롤바를 클릭했을때
EN_VSCROLL
EN_ERRSPACE    메모리가 부족할때
EN_UPDATE      문자열이 변경되기 직전에
EN_MAXTEXT    지정한 문자열의 길이를 초과했을때

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#define ID_EDIT 501
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    TCHAR strEdit[128];
    static HWND hEdit;
    static HWND hST1, hST2;
    switch (message)
    {
    case WM_CREATE:
        hEdit = CreateWindow(TEXT("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOVSCROLL | ES_MULTILINE, 28016020080, hWnd, (HMENU)ID_EDIT, hInst, NULL);
        hST1 = CreateWindow(TEXT("static"), TEXT("윈도우프로그래밍"), WS_CHILD | WS_VISIBLE | SS_CENTER, 2802020025, hWnd, (HMENU)-1, hInst, NULL);
        hST2 = CreateWindow(TEXT("static"), TEXT("종류"), WS_CHILD | WS_VISIBLE | SS_NOPREFIX, 2806020080, hWnd, (HMENU)-1, hInst, NULL);
        break;
    case WM_COMMAND:
        {
            int wmId = LOWORD(wParam);
            // 메뉴 선택을 구문 분석합니다.
            switch (wmId)
            {
            case ID_EDIT:
                switch (HIWORD(wParam))
                {
                case EN_CHANGE:
                    GetWindowText(hEdit, strEdit, 128);
                    SetWindowText(hST2, strEdit);
                    break;
                }
                break;
 
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#define ID_EDIT 501
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    TCHAR strEdit[128];
    static HWND hEdit;
    static HWND hST1, hST2;
    switch (message)
    {
    case WM_CREATE:
        hEdit = CreateWindow(TEXT("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOVSCROLL | ES_MULTILINE, 28016020080, hWnd, (HMENU)ID_EDIT, hInst, NULL);
        hST1 = CreateWindow(TEXT("static"), TEXT("윈도우프로그래밍"), WS_CHILD | WS_VISIBLE | SS_CENTER, 2802020025, hWnd, (HMENU)-1, hInst, NULL);
        hST2 = CreateWindow(TEXT("static"), TEXT("종류"), WS_CHILD | WS_VISIBLE | SS_NOPREFIX, 2806020080, hWnd, (HMENU)-1, hInst, NULL);
        break;
    case WM_COMMAND:
        {
            int wmId = LOWORD(wParam);
            // 메뉴 선택을 구문 분석합니다.
            switch (wmId)
            {
            case ID_EDIT:
                switch (HIWORD(wParam))
                {
                case EN_CHANGE:
                    GetWindowText(hEdit, strEdit, 128);
                    SetWindowText(hST2, strEdit);
                    break;
                }
                break;
 
cs
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30