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

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

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

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

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

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

подскажите в чем ошибка - C++
только сегодня начал знакомство и вот уже проблемка)подскажите пожалуйста в чем ошибка)) Две дроби a/b и c/d можно сложить следующим...

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

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

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

Подскажите, в чем ошибка - 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, символы s1,s2,.,sn.Удалите из данной последовательность все группы букв, образующих запись abcd, то...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Digit@ll
Brainsbreaker
881 / 359 / 30
Регистрация: 01.02.2011
Сообщений: 1,572
29.08.2011, 02:42     Подскажите в чем ошибка?! #2
1. Wnd.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
2. if (!RegisterClassEx(&Wnd))// N.B.
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
29.08.2011, 13:02  [ТС]     Подскажите в чем ошибка?! #3
И? Все равно не выводит то что надо.
-=ЮрА=-
Заблокирован
Автор 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-м параметром???
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);

хотя нотации необязательны
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};
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 должна ведь быть стандартная стрелка?!
alkagolik
Заблокирован
29.08.2011, 18:20     Подскажите в чем ошибка?! #8
IDC_ARROW должна ведь быть стандартная стрелка?!
Digit@ll
Brainsbreaker
881 / 359 / 30
Регистрация: 01.02.2011
Сообщений: 1,572
29.08.2011, 18:42     Подскажите в чем ошибка?! #9
Ree.exe, noob c++, не?
Ree.exe
29.08.2011, 22:42  [ТС]
  #10

Не по теме:

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

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++
поставлена задача: Задан одномерный массив В, состоящем из n вещественных элементов. Определить позиции массива, в которых расположены...

Подскажите в чем ошибка - C++
Вывести слова введенной строки, начинающиеся с заданного слова, на экран столбиком. использую класс string. // str.cpp : Defines the...

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

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


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

Или воспользуйтесь поиском по форуму:
Digit@ll
Brainsbreaker
881 / 359 / 30
Регистрация: 01.02.2011
Сообщений: 1,572
30.08.2011, 04:01     Подскажите в чем ошибка?! #11
То был не прямоугольник, а иконка твоего приложения, а noob c++ это ник здесь есть такой, тоже "чудеса" творит. )
Yandex
Объявления
30.08.2011, 04:01     Подскажите в чем ошибка?!
Ответ Создать тему
Опции темы

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