Trang 1 trên tổng số 4 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 40 kết quả

Đề tài: Tạo và xử lý sự kiện button bằng code!!!

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    51

    Exclamation Tạo và xử lý sự kiện button bằng code!!!

    Mình dùng VC++2005 tạo một project, định làm một giao diện, trong đó mình tạo 3 button.
    Mình muốn viết code tạo button và xử lý sự kiện trên đó thì viết làm sao?
    Và cố định form ban đầu không cho di chuyển , thay đổi kích thước.

    Mong các anh pro giúp mình với!!
    <Nếu được thì dùng ngôn ngữ VC++ 2005 nhé!!!>
    Đã được chỉnh sửa lần cuối bởi kyoshiroit : 06-04-2009 lúc 08:00 PM.
    Pinging [nguoitoiyeu] with 32bytes of data...
    Request time out...
    Request time out...
    Request time out...
    Ping statistics for [nguoitoiyeu]:
    Packets: Sent =4, Recived =4, Lost =0 (100%)

  2. #2
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    dùng MFC không cần phải cực nhọc,chỉ cần kích đôi vào Button là nó sinh code sử lý thôi

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    51

    Nhưng mình học lập trình trên Win, không được phép dùng công cụ kéo thả...
    Bạn có thể giúp mình không?
    Pinging [nguoitoiyeu] with 32bytes of data...
    Request time out...
    Request time out...
    Request time out...
    Ping statistics for [nguoitoiyeu]:
    Packets: Sent =4, Recived =4, Lost =0 (100%)

  4. #4
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    Nếu bạn lập trình bằng WinAPI thì code đây, bạn cứ ngâm cứu đi (Build ở chế độ UNICODE nhé!)

    Visual C++ Code:
    1. #include <windows.h>
    2. #define MYCLASSNAME L"WindowTest"
    3.  
    4. #define IDC_BTN1 100
    5. #define IDC_BTN2 101
    6. #define IDC_BTN3 102
    7.  
    8. #define BUTTONWIDTH 100
    9. #define BUTTONHEIGHT 50
    10.  
    11. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    12. {
    13.     switch(uMsg)
    14.     {
    15.     case WM_CREATE:
    16.         CreateWindowEx(NULL, L"BUTTON", L"Button 1", WS_CHILD|WS_VISIBLE, 10, 10, BUTTONWIDTH, BUTTONHEIGHT, hWnd, (HMENU)IDC_BTN1, GetModuleHandle(NULL), NULL);
    17.         CreateWindowEx(NULL, L"BUTTON", L"Button 2", WS_CHILD|WS_VISIBLE,  2*10 + BUTTONWIDTH, 10, BUTTONWIDTH, BUTTONHEIGHT, hWnd, (HMENU)IDC_BTN2, GetModuleHandle(NULL), NULL);
    18.         CreateWindowEx(NULL, L"BUTTON", L"Button 3", WS_CHILD|WS_VISIBLE, 3*10 + 2*BUTTONWIDTH, 10, BUTTONWIDTH, BUTTONHEIGHT, hWnd, (HMENU)IDC_BTN3, GetModuleHandle(NULL), NULL);
    19.  
    20.         break;
    21.  
    22.     case WM_COMMAND:
    23.         switch(wParam)
    24.         {
    25.         case IDC_BTN1:
    26.             MessageBox(hWnd, L"Button 1 clicked!", L"Info", MB_OK|MB_ICONINFORMATION);
    27.             break;
    28.  
    29.         case IDC_BTN2:
    30.             MessageBox(hWnd, L"Button 2 clicked!", L"Info", MB_OK|MB_ICONINFORMATION);
    31.             break;
    32.  
    33.         case IDC_BTN3:
    34.             MessageBox(hWnd, L"Button 3 clicked!", L"Info", MB_OK|MB_ICONINFORMATION);
    35.             break;
    36.         }
    37.         break;
    38.  
    39.     case WM_DESTROY:
    40.         PostQuitMessage(0);
    41.         break;
    42.  
    43.     default:
    44.         return DefWindowProc(hWnd, uMsg, wParam, lParam);
    45.     }
    46.     return 0;
    47. }
    48.  
    49. int CALLBACK WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
    50. {
    51.     WNDCLASSEX wcex;
    52.     MSG msg;
    53.     HWND hWnd;
    54.  
    55.     wcex.cbSize = sizeof(WNDCLASSEX);
    56.     wcex.cbClsExtra = 0;
    57.     wcex.cbWndExtra = 0;
    58.     wcex.hInstance = hInst;
    59.     wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    60.     wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    61.     wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    62.     wcex.lpszClassName = MYCLASSNAME;
    63.     wcex.lpszMenuName = NULL;
    64.     wcex.lpfnWndProc = WndProc;
    65.     wcex.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
    66.     wcex.style = CS_HREDRAW | CS_VREDRAW;
    67.  
    68.     RegisterClassEx(&wcex);
    69.     hWnd = CreateWindowEx(NULL, MYCLASSNAME, L"Test window button", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, HWND_DESKTOP, NULL, hInst, NULL);
    70.     ShowWindow(hWnd, nCmdShow);
    71.     UpdateWindow(hWnd);
    72.  
    73.     while(GetMessage(&msg, NULL, NULL, NULL))
    74.     {
    75.         TranslateMessage(&msg);
    76.         DispatchMessage(&msg);
    77.     }
    78.     return msg.wParam;
    79. }
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

  5. #5
    Ngày gia nhập
    03 2009
    Bài viết
    51

    Cảm ơn bạn NguyenBinh07 rất nhiềuuuuuuuuuuuuuuuuuuuuu..................
    Nhưng mình thay các nút button bằng các icon được ko vậy?
    Đã được chỉnh sửa lần cuối bởi kyoshiroit : 06-04-2009 lúc 10:08 PM.
    Pinging [nguoitoiyeu] with 32bytes of data...
    Request time out...
    Request time out...
    Request time out...
    Ping statistics for [nguoitoiyeu]:
    Packets: Sent =4, Recived =4, Lost =0 (100%)

  6. #6
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    Mặc định Tạo và xử lý sự kiện button bằng code!!!

    Được chứ, nhưng phải code nhiều hơn!
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

  7. #7
    Ngày gia nhập
    03 2009
    Bài viết
    51

    Bạn có thể code dùm mình được không?
    Pinging [nguoitoiyeu] with 32bytes of data...
    Request time out...
    Request time out...
    Request time out...
    Ping statistics for [nguoitoiyeu]:
    Packets: Sent =4, Recived =4, Lost =0 (100%)

  8. #8
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    Attack project lên rồi đây
    Attached Files Attached Files
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

  9. #9
    Ngày gia nhập
    03 2009
    Bài viết
    51

    Thanks nguyenbinh07 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Nhưng bạn viết bằng VC6.0 à. Mình dùng VC2005 nên không convert ra được!!!
    Bạn có thể convert ra VC2005 dùm mình được không?
    Đã được chỉnh sửa lần cuối bởi kyoshiroit : 07-04-2009 lúc 09:16 AM.
    Pinging [nguoitoiyeu] with 32bytes of data...
    Request time out...
    Request time out...
    Request time out...
    Ping statistics for [nguoitoiyeu]:
    Packets: Sent =4, Recived =4, Lost =0 (100%)

  10. #10
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    Trời, mình viết bằng VC 2008. Nếu VC 2005 mở ko đc thì bạn cứ tạo 1 project mới rồi add mấy thứ có trong folder đó vào như Resource, source, manifest, etc là chạy được thôi mừ :-|, mình ko có VC 2005 nên ko convert cho bạn đc
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

Các đề tài tương tự

  1. ADO.NET PreviewKeyDown của button động tạo từ code..
    Gửi bởi thansaudh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 04-01-2014, 11:52 AM
  2. gọi sự kiện click của button trong code behind dùng button html
    Gửi bởi teodainhan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 02-09-2013, 02:15 PM
  3. Cách thay đổi to nhỏ button bằng code
    Gửi bởi tuanvu199x trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 21-11-2010, 11:45 AM
  4. Cách đổi màu button bằng code như thế nào?
    Gửi bởi tuanvu199x trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 17-11-2010, 01:37 PM
  5. Code của button Add New (Thêm mới dữ liệu).
    Gửi bởi nguyencuonginfo trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 06-08-2009, 11:24 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn