Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Заблокирован

объясните последовательность

25.07.2013, 10:24. Показов 535. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
88
89
#include<Windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE prev, LPSTR cmdline,int ncmdshow)
{
    HWND hwnd;
    MSG msg;
    WNDCLASSEX wc;
    char* ClassName="ClassName";
    char* MenuName="MenuName";
    wc.cbSize=sizeof(wc);
    wc.style            = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc      = WndProc;
    wc.cbClsExtra       = 0;
    wc.cbWndExtra       = 0;
    wc.hInstance        = hInst;
    wc.hIcon            = LoadIcon(hInst,IDI_APPLICATION);
    wc.hCursor          = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground    = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszMenuName     = MenuName;
    wc.lpszClassName    = ClassName;
    wc.hIconSm          = LoadIcon(hInst,IDI_APPLICATION);
    RegisterClassEx(&wc);
    hwnd = CreateWindow(ClassName, MenuName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst, NULL);
    ShowWindow(hwnd,ncmdshow);
    UpdateWindow(hwnd);
 
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT imsg, WPARAM wParam, LPARAM lParam)
{
    HDC hdc, mdc;
    static HBITMAP* hbm;
    static int x, y;
    switch(imsg)
    {
    case WM_CREATE:
        hbm = new HBITMAP;
        SetTimer(hwnd, 1, 100, NULL);
        break;
    case WM_SIZE:
        hdc = GetDC(hwnd);
        mdc = CreateCompatibleDC(hdc);
        *hbm = CreateCompatibleBitmap(hdc, 20, 20);
        ReleaseDC(hwnd, hdc);
        SelectObject(mdc, *hbm);
        Rectangle(mdc, -1, -1, 21, 21);
        Ellipse(mdc, 1, 1, 20, 20);
        DeleteDC(mdc);
        hbm++;
        hdc = GetDC(hwnd);
        mdc = CreateCompatibleDC(hdc);
        *hbm = CreateCompatibleBitmap(hdc, 20, 20);
        ReleaseDC(hwnd, hdc);
        SelectObject(mdc, *hbm);
        Rectangle(mdc, -1, -1, 21, 21);
        Ellipse(mdc, 1, 1, 20, 20);
        DeleteDC(mdc);
        hbm--;
        break;
    case WM_TIMER:
        hdc = GetDC(hwnd);
        mdc = CreateCompatibleDC(hdc);
        SelectObject(mdc, *hbm);
        BitBlt(hdc, x, y, x + 20, y + 20, mdc, 0, 0, SRCCOPY);
        ReleaseDC(hwnd, hdc);
        DeleteDC(mdc);
        hbm++;
        hdc = GetDC(hwnd);
        mdc = CreateCompatibleDC(hdc);
        SelectObject(mdc, *hbm);
        BitBlt(hdc, x + 40, y, x + 60, y + 20, mdc, 0, 0, SRCCOPY);
        ReleaseDC(hwnd, hdc);
        DeleteDC(mdc);
        hbm--;
        x++, y++;
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hwnd,imsg,wParam,lParam);
        break;
    }
}
после каждого сообщения вызывается функция обратного вызова (WndProc), затем генерируется сообщение WM_CREATE. вопрос wm_create генерируется 1 раз, правильно ли выделять память для битового образа в этом сообщении. ну или как лучше поступить?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2013, 10:24
Ответы с готовыми решениями:

Объясните последовательность операций в выражении
Вот пример: int i = 5, j = 12, k = 7; k = (--i + 2 * j - k++, j-- + i - k); почему в ответе получается 8?

Объясните, последовательность, содержащая несколько цифр, как делать?
всем привет, кому не трудно, приветствуется объяснение решения по пунктам(ну хоть что как делалось и откуда что вышло), хочу чтобы дошло...

Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей
Дана последовательность действительных чисел a1 &lt;= a2&lt;= ... &lt;=an вставить действительное число b так чтобы последовательность осталась...

1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
25.07.2013, 12:37
WM_CREATE посылается один раз, после того как окно создано, но перед тем как становится видимым.
Выделяешь правильно, только нет необходимости использовать объект через указатель.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.07.2013, 12:37
Помогаю со студенческими работами здесь

Дана последовательность А1...А50. Получить новую последовательность, исключив отрицательные элементы
Дана последовательность А1...А50. Получить новую последовательность, исключив отрицательные элементы

Поделить последовательность на подпоследовательности заданной длины, после чего преобразовать последовательность
Создать файл из целых чисел. Количество компонетов должно быть кратно 10. Прочитать последовательность из файла и поделить ее на...

Задана последовательность слов. Определить частоту вхождения каждого слова в последовательность.
Доделать программу, чтобы работала как надо Задана последовательность слов. Определить частоту вхождения каждого слова в...

Задана последовательность N вещественных чисел. Отсортировать последовательность по убыванию методом выбор
И снова прошу помощи написать код. Задана последовательность N вещественных чисел. Отсортировать последовательность по убыванию...

Построить последовательность из 0 и 1, в которой Bi=1 если элементы i-го столбца образуют убывающую последовательность
Дана действительная квадратная матрица порядка n. Построить последовательность В1,В2,...,Вп из нулей и единиц, в которой Bi=1 тогда,и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru