Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 12
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    tạo một cửa sổ ứng dụng nhưng bị lổi ?

    mình mới bắt đầu làm quen với lập trình win32 .đang thử tạo một cửa sổ ứng dụng đơn giản tuy nhiên lại bị lổi. mọi người giúp mình kt xem tn.
    code:

    Mã:
     #include<windows.h> HINSTANCE hInst; //khai bao the hien cua ung dungHWND wndHandle; //khai bao con tro quan li cua so ung dungchar vidu[]="vidu1"; //khai bao hambool initWindow(HINSTANCE hinstance);LRESULT CALLBACK MsgProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){//khoi tao ung dung    if(!initWindow(hInstance))        return false;      return 0;} bool initWindow(HINSTANCE hinstance){    WNDCLASSEX wd;    wd.cbSize=sizeof(WNDCLASSEX);    wd.hbr  wd.cbClsExtra=0;    wd.cbWndExtra=0;    wd.hCursor=LoadCursor(NULL,IDC_ARROW);    wd.hIcon=0;    wd.style=CS_HREDRAW|CS_VREDRAW;    wd.lpfnWndProc=(WNDPROC)MsgProc;    wd.lpszMenuName=NULL;    wd.lpszClassName=vidu;         wd.hIconSm=0;//con tro toi du lieu bieu tuong cua doi tuong    wd.hInstance=hinstance; //con tro tro toi instance cua ung dung    RegisterClassEx(&wd);    wndHandle=CreateWindow(                                                                                 vidu,                        "mnmf",                        WS_OVERLAPPEDWINDOW,                        CW_USEDEFAULT,                        CW_USEDEFAULT,                        CW_USEDEFAULT,                        CW_USEDEFAULT,                        NULL,                        NULL,                        hinstance,                        NULL);      //kiem tra xem qua trinh tao cua so co hoan thanh ko    if(!wndHandle)        return false;    //the hien cua so len man hinh    ShowWindow(wndHandle,SW_SHOW);    UpdateWindow(wndHandle);    return true;   }
    đây là thông báo lổi :
    - error C2440: '=' : cannot convert from 'char [6]' to 'LPCWSTR' e:\tai lieu\c++\project\window\window\cuaso.cpp 33 window

    - error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'char [6]' to 'LPCWSTR' e:\tai lieu\c++\project\window\window\cuaso.cpp 50 window

    mình làm như ví dụ trong ebook nhưng nó lại báo lổi như vậy. mình đang dùng vs2008

    hàm xử lí thông điệp mình chưa viết. mới test thử thấy báo lổi ở hàm này nên đưa lên ae xem giúp

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mấy cái char bạn đổi thành wchar_t và thêm chữ L trước các chuỗi. Ví dụ bạn khai báo char *vidu = "vidu1"; thì đổi thành wchar_t *vidu = L"Vidu1";
    Nguyên nhân là vì bạn dùng phiên bản VC++ mới nên mặc định nó hỗ trợ unicode trong các hàm API (mà bạn lại dùng ANSCII)

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình đả sửa lại như bạn nói thì giải quyết đc vấn đề đó tuy nhiên lại vẩn còn có lổi

    + Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib window
    + Error 2 fatal error LNK1120: 1 unresolved externals E:\TAI LIEU\c++\project\window\Debug\window.exe window

    bạn có thể hướng dẩn giúp mình với

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi nguyen my
    mình đả sửa lại như bạn nói thì giải quyết đc vấn đề đó tuy nhiên lại vẩn còn có lổi

    + Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib window
    + Error 2 fatal error LNK1120: 1 unresolved externals E:\TAI LIEU\c++\project\window\Debug\window.exe window

    bạn có thể hướng dẩn giúp mình với
    Cái này do bạn cấu hình project sai nè.
    Bạn chon win32project --->winform(hay đại loại như thế) --->(chọn empty project nha)--->OK

  5. #5
    cái này mình chọn empty project rồi mà.

  6. #6
    mọi người giúp mình với. mình đag rất cần

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình tạo proj mới và paste code của bạn vô thì không bị lỗi báo "không có hàm main nữa"(2 cái lỗi mà bạn nói ) .Chỉ có lỗi về bộ nhớ thôi(runtime error)

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    thank cậu nha. giờ tạo project mới nó lại chạy tốt. ko hiểu sao nữa. nản quá mất thôi

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Project -> [windows] Properties -> configuration properties -> Linker ->advanced->entry point đặt là _tWinMain

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi nguyen my
    cái này mình chọn empty project rồi mà.
    Win32 project -->Window application(chọn empty project)--->Finish.

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •