Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Ree.exe
56 / 56 / 16
Регистрация: 01.08.2011
Сообщений: 141
1

Подскажите в чем ошибка?!

29.08.2011, 00:12. Просмотров 734. Ответов 10
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include<windows.h>
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE my_hinstance, HINSTANCE hPrevIinstance, LPSTR lpCmLine , int nCmShow)
{
    
    HWND myHwnd;
    LPCWSTR myClass =TEXT("Мой класс");
    WNDCLASSEX Wnd;
    MSG msg;
    
 
    Wnd.cbSize         =sizeof(WNDCLASSEX);
    Wnd.style          =CS_HREDRAW |CS_VREDRAW;
    Wnd.lpfnWndProc    =WndProc;
    Wnd.cbClsExtra     =0;
    Wnd.cbWndExtra     =0;
    Wnd.hInstance      =my_hinstance;
    Wnd.hIcon          =LoadIcon(NULL, IDI_APPLICATION);
    Wnd.hCursor        =LoadCursor(NULL, IDC_ARROW);
    Wnd.hbrBackground  =(HBRUSH)GetStockObject(WHITE_BRUSH);
    Wnd.lpszMenuName   =NULL;
    Wnd.lpszClassName  =myClass;
    
    if(RegisterClassEx(&Wnd))
    {
        MessageBox(NULL,L"         RegisterClassEx         ",L"Erroe",MB_OK);
        return 0;
    }
 
    myHwnd = CreateWindow(
        myClass,
        L"___________",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,
        0,
        CW_USEDEFAULT,
        0,
        (HWND)NULL,
        (HMENU)NULL,
        (HINSTANCE) my_hinstance,
        NULL);
    if(!myHwnd)
    {
        MessageBox(NULL, L"         CreateWindow         ", L"Error",MB_OK);
        return 0;
    }
 
    ShowWindow(myHwnd,nCmShow );
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
 
}
 
LRESULT CALLBACK WndProc(HWND myHwnd, UINT uMsg, WPARAM wParam,LPARAM lParam)
{
    HDC Hdc;
    RECT rect;
    PAINTSTRUCT ps;
    switch(uMsg)
    {
    case WM_PAINT:
 
            Hdc = BeginPaint(myHwnd, &ps);
            GetClientRect(myHwnd, &rect);
            DrawText(Hdc, L"++++++++",-1,&rect, DT_CENTER);
            EndPaint(myHwnd, &ps);
            break;
 
    case WM_CLOSE:
 
        DestroyWindow(myHwnd);
        break;
 
    case WM_DESTROY:
 
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(myHwnd, uMsg, wParam, lParam);
    }
    return 0;
}
Почему не создает окно приложения?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2011, 00:12
Ответы с готовыми решениями:

Подскажите в чем ошибка
Не могу понять вроде все правильно а не запускается #include &lt;iostream&gt; #include &lt;stdlib.h&gt;...

Подскажите, в чем ошибка?
,,,

подскажите в чем ошибка?
В массив А занесены натуральные числа.Найти сумму элементов, которые кратны данному К написал...

подскажите в чем ошибка
только сегодня начал знакомство и вот уже проблемка)подскажите пожалуйста в чем ошибка)) Две...

Подскажите в чем ошибка
Нужно создать файл 5.дат и записать в него информацию с структуры аерофлот. Создаю я вот так:...

10
Digit@ll
Brainsbreaker
889 / 367 / 51
Регистрация: 01.02.2011
Сообщений: 1,586
29.08.2011, 02:42 2
1. Wnd.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
2. if (!RegisterClassEx(&Wnd))// N.B.
1
Ree.exe
56 / 56 / 16
Регистрация: 01.08.2011
Сообщений: 141
29.08.2011, 13:02  [ТС] 3
И? Все равно не выводит то что надо.
0
-=ЮрА=-
Заблокирован
Автор FAQ
29.08.2011, 15:39 4
Цитата Сообщение от Ree.exe Посмотреть сообщение
myHwnd = CreateWindow(
* * * * * * * * myClass,
* * * * * * * * L"___________",
* * * * * * * * WS_OVERLAPPEDWINDOW,
* * * * * * * * CW_USEDEFAULT,
* * * * * * * * 0,
* * * * * * * * CW_USEDEFAULT,
* * * * * * * * 0,
* * * * * * * * (HWND)NULL,
* * * * * * * * (HMENU)NULL,
* * * * * * * * (HINSTANCE) my_hinstance,
* * * * * * * * NULL);
* * * * if(!myHwnd)
- может грабли со 2-м параметром???
1
29.08.2011, 15:39
alkagolik
Заблокирован
29.08.2011, 16:27 5
а что не так? какой компилятор? на что ругается?

Все равно не выводит то что надо
смотри Венгерские нотации может быть так что неверна эта строка HDC Hdc, вместо HDC hDc (префикс h в нотациях), или так что явное преобразование к типу LONG вместо LPCTSTR вот как в мой работе было (все работает).
C++
1
2
3
4
5
6
7
8
9
10
11
hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, ClassPName, "Курсовая работа",
(WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX |\
WS_MAXIMIZEBOX) &~(WS_THICKFRAME), 250, 250, 600, 495, NULL, NULL,hInstance, NULL);
if(!hWnd){
      MessageBox(NULL,"не удается создать родительское окно",
            "Ошибка!", MB_OK);
      return 2;
}
......................................................
            rect.left = rect.left + 15;
            DrawText(hDC, "Оперативная память", -1, &rect, DT_LEFT | DT_TOP);

хотя нотации необязательны
1
An1ka
68 / 73 / 9
Регистрация: 30.06.2011
Сообщений: 176
29.08.2011, 16:48 6
Во первых проверка на регистрацию класса:
C++
1
if( !RegisterClassEx(&Wnd)) { ... }
If the function fails, the return value is zero.

Во вторых структура WNDCLASSEX не до конца заполнена. Либо до конца заполнить все поля структуры, добавить:
C++
1
Wnd.hIconSm = LoadIcon( NULL, IDI_APPLICATION);
Либо обнулить при создании:
C++
1
WNDCLASSEX Wnd = { 0};
1
Ree.exe
56 / 56 / 16
Регистрация: 01.08.2011
Сообщений: 141
29.08.2011, 17:17  [ТС] 7
Сори я немного оплашал, ошибка была исправлена во втором посте, тока теперь у меня вопрос насчёт курсора
C++
1
2
3
4
5
6
7
8
9
10
11
12
Wnd.cbSize         =sizeof(WNDCLASSEX);
    Wnd.style          =CS_HREDRAW |CS_VREDRAW;
    Wnd.lpfnWndProc    =WndProc;
    Wnd.cbClsExtra     =0;
    Wnd.cbWndExtra     =0;
    Wnd.hInstance      =my_hinstance;
    Wnd.hIcon          =LoadIcon(NULL, IDI_APPLICATION);
    Wnd.hCursor        =LoadIcon (NULL, IDC_ARROW);
    Wnd.hbrBackground  =(HBRUSH)GetStockObject(WHITE_BRUSH);
    Wnd.lpszMenuName   =NULL;
    Wnd.lpszClassName  =myClass;
    Wnd.hIconSm        =LoadIcon( NULL, IDI_APPLICATION);
Wnd.hCursor =LoadIcon (NULL, IDC_ARROW); IDC_ARROW должна ведь быть стандартная стрелка?!
0
alkagolik
Заблокирован
29.08.2011, 18:20 8
IDC_ARROW должна ведь быть стандартная стрелка?!
0
Digit@ll
Brainsbreaker
889 / 367 / 51
Регистрация: 01.02.2011
Сообщений: 1,586
29.08.2011, 18:42 9
Ree.exe, noob c++, не?
0
Ree.exe
29.08.2011, 22:42  [ТС]
  #10

Не по теме:

Цитата Сообщение от Digit@ll Посмотреть сообщение
Ree.exe, noob c++, не?
Ну может и недавно изучаю его, но вместо стандартного курсора в виде стрелочки у меня был какой-то прямоугольник!!!

0
Digit@ll
Brainsbreaker
889 / 367 / 51
Регистрация: 01.02.2011
Сообщений: 1,586
30.08.2011, 04:01 11
То был не прямоугольник, а иконка твоего приложения, а noob c++ это ник здесь есть такой, тоже "чудеса" творит. )
0
30.08.2011, 04:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2011, 04:01

Подскажите в чем ошибка
Есть код: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int main() { ...

Подскажите, в чем ошибка?
Вроде все правильно, почему выходит результат &quot;Вы не сдали&quot;? #include &lt;iostream&gt; #include...

Подскажите, в чем ошибка
При компиляции программы компилятор выдает сообщение: undefined reference to `imput(int)' ld...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru