Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
#1

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

29.08.2011, 00:12. Просмотров 684. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2011, 00:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите в чем ошибка?! (C++):

Подскажите в чем ошибка - C++
Нужно создать файл 5.дат и записать в него информацию с структуры аерофлот. Создаю я вот так: #include &lt;iostream&gt; #include &lt;stdio.h&gt; ...

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

Подскажите в чем ошибка - C++
Вывести матрицу из 20 элементов целого типа. Определить каких элементов больше четных или нечетных { int A, i, m=0, n=0; for(i=0;...

Подскажите, в чем ошибка - C++
#include&lt;stdio.h&gt; #include&lt;cmath&gt; using namespace std; int main() { int n,a,b,c,d,t; cin&gt;&gt;n; a=9*60; ...

подскажите в чем ошибка - C++
поставлена задача: Задан одномерный массив В, состоящем из n вещественных элементов. Определить позиции массива, в которых расположены...

Подскажите в чем ошибка! - C++
Программа должна выводить адресса букв, но в итоге выводит ошибку &quot;error: invalid type argument of `unary *' &quot; в 17 строке. Почему??? ...

10
Digit@ll
Brainsbreaker
884 / 362 / 31
Регистрация: 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 / 4
Регистрация: 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
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
65 / 70 / 2
Регистрация: 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 / 4
Регистрация: 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
884 / 362 / 31
Регистрация: 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
884 / 362 / 31
Регистрация: 01.02.2011
Сообщений: 1,586
30.08.2011, 04:01 #11
То был не прямоугольник, а иконка твоего приложения, а noob c++ это ник здесь есть такой, тоже "чудеса" творит. )
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2011, 04:01
Привет! Вот еще темы с ответами:

Подскажите в чем ошибка - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void main() { int i; float a,b; double c; FILE *fout; ...

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

Подскажите, в чем ошибка? - C++
Задача:Напишите программу преобразования последовательности 12 символов-цифр, вводимых из стандартного потока, в числовое значение типа...

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


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
30.08.2011, 04:01
Ответ Создать тему
Опции темы

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