[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. growl

    growl New Member

    Joined:
    1 May 2007
    Messages:
    7
    Likes Received:
    2
    Reputations:
    0
    #4061 growl, 29 Oct 2009
    Last edited: 29 Oct 2009
  2. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    точно
     
  3. growl

    growl New Member

    Joined:
    1 May 2007
    Messages:
    7
    Likes Received:
    2
    Reputations:
    0
    -m0rgan-
    Тогда не один в один
    lszMenuName -> lpszMenuName
    lpzClassName -> lpszClassName

    wndclass.hbrBackground = (BRUSH) GetStockObject(WHITE_BRUSH); // эта строка вообще не понятно что, может между (BRUSH) GetStockObject(WHITE_BRUSH) ними плюс нужен?
    браш нигде не определён.
     
  4. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Из windows.h
    typedef struct tagWNDCLASSEX
    {
    UINT sbSize;
    UINT style;
    WNDPROC lpfnWndProc;
    int cbClasExtra;
    int cbWndExtra;
    HINSTANCE hInstance;
    HICON hIcon;
    HCURSOR hCursor;
    HBRUSH hbrBackground;
    LPCSTR lpszMenuName;
    LPCSTR lpszClassName;
    HICON nIconSm;
    }
    WNDCLASSEX;

    Мб єто прояснит ситуацию..
     
  5. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Ну так и используй "HBRUSH", а не "BRUSH"...
     
  6. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    [​IMG]

    И все такое..
     
  7. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    помоему это не весь код.
     
  8. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    не весь, но это класс окна..
    Весь вот:

     
  9. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Закоментировав
    все скомпилилось без ошибок.
     
    1 person likes this.
  10. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    скопил с книги..
    Остался один эррор:
    c:\documents and settings\***\мои документы\visual studio 2008\projects\system\system\api.cpp(22) : error C2440: '=' : cannot convert from 'char [9]' to 'LPCWSTR'

    строка 22: wndclass.lpszClassName = szAppName;

    Подскажить, что это за ***ня?
    Меня это уже заебало((
    Где этот LPCWSTR отрубить в VS ?

    почему в остальных средах разработки все ок ???
     
  11. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    У меня VS10 beta2...
    Не понятно ещё почему у тебя "LPCWSTR", у меня там "LPCSTR".
    Какая у тебя винда?
     
  12. GenTao

    GenTao New Member

    Joined:
    10 Oct 2009
    Messages:
    123
    Likes Received:
    2
    Reputations:
    -3
    Всем привет.Необходимо выполнять цикл do while до тех пор,пока не введена строка.Как это реализовать на си ? Че ток не переделал - не работает.
     
  13. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    XP SP3
     
  14. rudvil

    rudvil Elder - Старейшина

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Попробуй так
    Code:
    wndclass.lpszClassName = (LPCWSTR) szAppName;
     
  15. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    rudvil, теперь ошибку линковки выкидует =\\
    Linking...
    api.obj : error LNK2019: unresolved external symbol "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) referenced in function _WinMain@16
    C:\Documents and Settings\***\Мои документы\Visual Studio 2008\Projects\system\Debug\system.exe : fatal error LNK1120: 1 unresolved externals
     
    #4075 -m0rgan-, 29 Oct 2009
    Last edited: 29 Oct 2009
  16. Lee_fx

    Lee_fx Elder - Старейшина

    Joined:
    27 Sep 2008
    Messages:
    90
    Likes Received:
    14
    Reputations:
    0
    static char szAppName[] = "HelloWin";
    меняй на
    static wchar_t szAppName[] = L"HelloWin";

    и везде где "..." ставь префикс L"..."
    Юникод используется
     
    1 person likes this.
  17. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    если по книге делает, то лучге в проекте отрубить юникод, в свойствах. чтобы поберечь нервы. ибо устанет баги исправлять. В настройках проекта во вкладке General параметр charset щадай Not set.
    По поводу последней ошибки - проверяй имена и типы. Может чтото поправил, а еще лучше вставь код сюда, который у тебя сейчас.
     
  18. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Вот:

     
  19. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    если это весь код, то ты потерял код WndProc. в начале у тебя объявление, но самого тела функции нет
     
    1 person likes this.
  20. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Я уже как то задавал этот вопрос, но не получил на него ответа :(

    КАК ПРИКРУТИТЬ К MICROSOFT VISUAL С++ 2008 ИНТЕЛОВСКИЙ КОМПИЛЯТОР???

    ОЧЕНЬ ИНТЕРЕСУЕТ!!!
     
    #4080 -m0rgan-, 30 Oct 2009
    Last edited: 30 Oct 2009
Thread Status:
Not open for further replies.