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

Đề tài: Hiển thị caption bằng phông uncode

  1. #1
    Ngày gia nhập
    07 2015
    Nơi ở
    Thượng Khuông, Hưng Thịnh, Bình Giang, Hải Dương
    Bài viết
    17

    Mặc định Hiển thị caption bằng phông uncode

    cho hỏi đã dùng lớp WNDCLASSEXW và hàm CreateWindowExW mà vẫn không hiển thị được phông unicode trên thanh tiêu đề

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    857

    Chào người cũ, bạn thử đưa mã rút gọn lên xem, hy vọng nhiều người góp ý cho bạn.

  3. #3
    Ngày gia nhập
    07 2015
    Nơi ở
    Thượng Khuông, Hưng Thịnh, Bình Giang, Hải Dương
    Bài viết
    17

    const wchar_t *_tenlop=L"_M25121051973_";

    LRESULT CALLBACK hamlenh(HWND can,UINT td,WPARAM wp,LPARAM lp)
    {

    switch(td)
    {
    case WM_DESTROY:
    PostQuitMessage(0);
    break;
    default:
    return DefWindowProc(can,td,wp,lp);
    }
    return 0;
    }

    void khoitaolop()
    {
    WNDCLASSEXW wincl;
    wincl.lpszClassName=_tenlop;
    wincl.lpfnWndProc=hamlenh; /* This function is called by windows */
    wincl.style=CS_DBLCLKS|CS_HREDRAW|CS_VREDRAW; /* Catch double-clicks */
    wincl.cbSize=sizeof(WNDCLASSEXW);
    wincl.hIcon=LoadIcon(NULL,IDI_APPLICATION);
    wincl.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
    wincl.hCursor=LoadCursor(NULL,IDC_ARROW);
    wincl.lpszMenuName=NULL; /* No menu */
    wincl.cbClsExtra=0; /* No extra bytes after the window class */
    wincl.cbWndExtra=0; /* structure or the window instance */
    wincl.hbrBackground=(HBRUSH)COLOR_BACKGROUND;
    if(!RegisterClassExW(&wincl)) exit(0);
    }
    int WINAPI WinMain (HINSTANCE hThisInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpszArgument,
    int nCmdShow)

    {
    HWND the;
    MSG _msg;
    khoitaolop();
    the=CreateWindowExW(0L,_tenlop,L"Trần Đình Mừnd",WS_OVERLAPPEDWINDOW,0,0,700,500,0,0,0,NULL );
    ShowWindow(the,SW_SHOWNORMAL);
    while (GetMessage (&_msg,NULL,0,0))
    {
    TranslateMessage(&_msg);
    DispatchMessage(&_msg);
    }
    return 0;
    }
    Đã được chỉnh sửa lần cuối bởi tranmung : 29-04-2018 lúc 06:28 PM.

  4. #4
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    857

    Bạn có 3 cách xử lý vấn đề này:

    1. Cấu hình dự án sang Unicode : Nếu trên VS201X thì vào trang thuộc tính => <Configuration Properties><General><Character Set> => <Use Unicode Character Set>
    2. Đặt một định nghĩa sau trên đầu tập tin : #define UNICODE
    3. Thay dòng lệnh : return DefWindowProc(can, td, wp, lp); bằng dòng return DefWindowProcW(can, td, wp, lp);

    Đây là chỉ trong mã này thôi, muốn chỉn chu hơn bạn phải xem:
    wincl.hInstance = ???
    the = CreateWindowExW(0L, _tenlop, L"Trần Đình Mừnd", WS_OVERLAPPEDWINDOW, 0, 0, 700, 500, 0, 0, hThisInstance, NULL);

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