Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> header'ы, что в них писать 
:(
    Опции темы
Barabeo
Дата 5.10.2010, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Нужно вывести окно с кнопкой.
Создал win32 project,добавил .cpp ,туда вписал код:

Код

#include "windows.h"
#define ID_BUTTON 3000

BOOL RegClass (WNDPROC,LPCTSTR,UINT);
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hinstanse;
char szClassName[]="Example";

int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hPrevInstance,LPSTR IpszCmdLine,int nCmdShow)
{
    MSG msg ; HWND hwnd;hinstance=hinst;
    if (!RegClass(WndProc,szClassName,COLOR_WINDOW))
        return FALSE;
    hwnd=CreateWindow(szClassName,"ПРиложение",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,0,0,hinstance,NULL);
    if(!hwnd)
        return FALSE;
    ShowWindow(hwnd,SW_SHOWMAXIMIZED);
    UpdateWindow(hwnd);
    while(GetMessage(&msg,0,0,0))DispatchMessage(&msg);
    return msg.wParam;
}
BOOL RegClass(WNDPROC Proc,LPCTSTR szName,UINT brBackground)
{
    WNDCLASS wc;
    wc.style=wc.cbClsExtra=wc.cbWndExtra=0;
    wc.lpfnWndProc=Proc;
    wc.hInstance=hinstance;
    wc.hIcon=LoadIcon(NUUL,IDI_APPLICATION);
    wc.hCursor=LoadCursor(NUUL,IDC_ARROW);
    wc.hbrBackground=(HBRUSH)(brBackground + 1);
    wc.lpszMenuName=(LPCTSTR)NULL;
    wc.lpszClassName=szName;
    return(RegisterClass(&wc)!=0);
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lparam)
{
    static HWND hButton;
    switch (msg)
    {
    case WM_CREATE:
        {
            hButton=CreateWindow("button","Пимер",WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,0,0,200,20,hwnd(HMENU)ID_BUTTON,hinstance,NULL);
            return 0;
        }
    case WM_DESTROY:{PostQuitMessage(0);return 0;}
    }
    return DefWindowProc(hwnd,msg,wParam,lParam);
}


Вопрос:что писать в .h файле?


M
JackYF
Используем кнопку "код".

PM MAIL   Вверх
Barabeo
Дата 5.10.2010, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Т.е. когда компилю сорец выдаёт пачку ошибок.
Я думаю что это из-за того что я не добавил в проект заголовочный файл Resource.h

Но вот что в нём нужно написать?
PM MAIL   Вверх
mes
Дата 5.10.2010, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



.h не обязательны и нужны лишь для удобной декларации общего между двумя юнитами (.cpp)



--------------------
PM MAIL WWW   Вверх
Crafty
Дата 5.10.2010, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Barabeo,  сравните ваш пример с этим примером(Код 2.1+SimWnd.cpp+).

Это сообщение отредактировал(а) Crafty - 5.10.2010, 21:45
PM MAIL   Вверх
Barabeo
Дата 5.10.2010, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



А чё тогда столько ошибок?

Код

 Build started: Project: MM, Configuration: Debug Win32 ------
Compiling...
M.cpp
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(11) : error C2065: 'hinst' : undeclared identifier
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(12) : error C2664: 'RegClass' : cannot convert parameter 2 from 'char [8]' to 'LPCTSTR'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(14) : error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'char [8]' to 'LPCWSTR'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(20) : warning C4244: 'return' : conversion from 'WPARAM' to 'int', possible loss of data
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(27) : error C2065: 'hinstance' : undeclared identifier
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(28) : error C2065: 'NUUL' : undeclared identifier
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(30) : warning C4312: 'type cast' : conversion from 'UINT' to 'HBRUSH' of greater size
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(42) : warning C4003: not enough actual parameters for macro 'CreateWindowW'
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(42) : error C2275: 'HMENU' : illegal use of this type as an expression
        c:\program files\microsoft visual studio 8\vc\platformsdk\include\windef.h(270) : see declaration of 'HMENU'
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(42) : error C2143: syntax error : missing ')' before 'constant'
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(42) : error C2660: 'CreateWindowExW' : function does not take 9 arguments
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(42) : error C2059: syntax error : ')'
c:\documents and settings\user\мои документы\visual studio 2005\projects\mm\mm\m.cpp(47) : error C2065: 'lParam' : undeclared identifier
Build log was saved at "file://c:\Documents and Settings\User\Мои документы\Visual Studio 2005\Projects\MM\MM\Debug\BuildLog.htm"
MM - 10 error(s), 3 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Добавлено через 4 минуты и 44 секунды
Благодарю!

Тока интересно чего мои каракули не пашут
PM MAIL   Вверх
Crafty
Дата 5.10.2010, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



Цитата(Barabeo @  5.10.2010,  21:49 Найти цитируемый пост)
Я думаю что это из-за того что я не добавил в проект заголовочный файл Resource.h
 Точно не из-за этого.

PM MAIL   Вверх
mes
Дата 5.10.2010, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Barabeo @  5.10.2010,  20:46 Найти цитируемый пост)
Тока интересно чего мои каракули не пашут 

ну так читайте, что компилятор пишет и исправляйте по одному .. 

Цитата(Barabeo @  5.10.2010,  20:46 Найти цитируемый пост)
'hinst' : undeclared identifier

используйте hinst, a не объявили его 


Цитата(Barabeo @  5.10.2010,  20:46 Найти цитируемый пост)
 cannot convert parameter 2 from 'char [8]' to 'LPCTST

ну а тут с юникодом нахимичено 


Цитата(Barabeo @  5.10.2010,  20:46 Найти цитируемый пост)
'NUUL' : undeclared identifier

не NUUL, a NULL

и т.д. 

вобщем внимательность и терпение и все получится..
 smile 


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0608 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.