Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Cho em hỏi cách tự tạo Windows Message trong MFC?

  1. #1
    Ngày gia nhập
    10 2008
    Bài viết
    58

    Mặc định Cho em hỏi cách tự tạo Windows Message trong MFC?

    Em có 1 chương trình ko dùng MFC với hàm window:
    C++ Code:
    1. LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
    2. {
    3.     switch(Msg)
    4.     {
    5.     case WM_INITDIALOG:
    6.         hDlg = hWnd;
    7.     break;
    8.  
    9.     case WM_SOCKET:
    10.         switch(WSAGETSELECTEVENT(lParam))
    11.         {
    12.         case FD_ACCEPT:
    13.             m_socket = accept(m_socket,NULL,NULL);
    14.             MessageBox(hDlg,"Client connected!", "SERVEUR", MB_ICONINFORMATION);
    15.         break;
    16.  
    17.         case FD_READ:
    18.             CGetData();
    19.         break;
    20.  
    21.         case FD_WRITE:
    22.             MessageBox(hDlg,"FD_WRITE Message received!", "SERVEUR", MB_ICONINFORMATION);
    23.         break;
    24.  
    25.         case FD_CLOSE:
    26.             MessageBox(hDlg,"FD_CLOSE Message received!", "SERVEUR", MB_ICONINFORMATION);
    27.         break;
    28.         }
    29.     break;
    30.     }
    31.  
    32.     return(TRUE);
    33. }
    Khai báo:
    C++ Code:
    1. #define WM_SOCKET WM_USER + 100
    2. HWND    hDlg;
    3. SOCKET m_socket;
    Em có 1 hàm cần sử dụng thông điệp trên:
    Code:
    WSAAsyncSelect(socket, hDlg, WM_SOCKET, FD_ACCEPT|FD_CLOSE|FD_READ|FD_WRITE)
    Bây giờ em dùng MFC AppWizard tạo 1 dialog, em muốn gọi hàm WSAAsyncSelect() trong lớp CSocketDlg:
    C++ Code:
    1. CSocketDlg::CallFunction()
    2. {
    3.     //Goi ham WSAAsyncSelect() o day
    4.     int a = WSAAsyncSelect(socket, hDlg, WM_SOCKET, FD_ACCEPT|FD_CLOSE|FD_READ|FD_WRITE)
    5. }
    Nhưng em gặp phải vấn đề với 2 tham số hDlg và WM_SOCKET:
    - Làm sao để lấy được handle của Dialog tạo ra
    - Làm sao để tạo được WM_SOCKET như ở trên
    Các anh có thể giải quyết giúp em được ko ạ? Cám ơn các anh trước nhé!
    Đây là dialogbox em tạo sẵn:
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    1. bạn dùng this->GetSafeHwnd() để lấy handle
    2. Chưa hiểu rõ ý bạn lắm, vì trong MFC bạn cũng dùng define để tạo 1 msg tự định nghĩa.

    Tương tự #define WM_SOCKET WM_USER + 100

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

  1. Xử lý Message trong MFC?
    Gửi bởi thegioimoiqb trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 09-11-2013, 01:41 PM
  2. Windows Message nào thay đổi định dạng của ký tự (in đậm, in nghiêng, gạch dưới...)?
    Gửi bởi vuthainam trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 2
    Bài viết cuối: 12-04-2013, 06:52 PM
  3. Cách xử lý Message của MFC, nghĩa là khi gởi một message đến chính nó trong Dialog
    Gửi bởi theboy909 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 6
    Bài viết cuối: 13-06-2011, 05:16 PM
  4. hiện text trong message box
    Gửi bởi minhtranminhtran85 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 18-10-2010, 06:28 PM
  5. Hỏi về cơ chế Message Map trong MFC
    Gửi bởi tandaica0612 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 01-05-2009, 05:59 AM

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