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

C++ & Win32Api - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции поиска http://www.cyberforum.ru/cpp-beginners/thread58189.html
Привет!У меня такая проблема: я хочу написать на с++ программу которая бы находила в директории файлы с расширением *.txt подскажите пожалуйсто с помощью какой фунции это можно сделать. Слышал как то можно с помощью system?спасибо за ответы!
C++ Копирование символов из строки в строку Всем доброго дня! Значит имеется такая задача: нужно ввести с клавиатуры строку произвольной длины (про нее я писал тут), затем нужно ввести вторую строку такой же длины, как и первая. Вторая строка - мое имя, оно задается изначально :) Второй строке нужно дописать недостающие символы. Вот пример. Первая строка: Я шагаю по Москве... (20 символов) Вторая (изначально заданная): Максим. Из... http://www.cyberforum.ru/cpp-beginners/thread58187.html
C++ Дано натуральное число n. Найти все его делители и разложить его на простые числа.
Привет.Помогите пожалуйста решить задчку. Заранее спасибо. Дано натуральное число n. Найти все его делители и разложить его на простые числа.
C++ Сформировать статический массив
Здраствуйте, помогите пожалуйста с заданием, смотрю такие похожие вопросы задавали но на них толком не отвечали....понимаю что сортировать как то нужно, но как?....Вот задание: Дана целочисленная прямоугольная матрица размерности n на m. Упорядочить её строки по возрастанию количества одинаковых элементов в каждой строке, а также найти номер первого из столбцов, не содержащих ни одного...
C++ сортировка по двумерным массивам http://www.cyberforum.ru/cpp-beginners/thread58121.html
Всем привет!!Я новичок !Можете выслать примеры по пузырьковой и выборочной сортировке двумерных массивов?
C++ Передать параметры в функцию. Всем привет! Не получается передать параметры из Delphi в библиотеку написанную на C++. Код программы: #define LIBINTERSECT_DECL extern "C" __declspec(dllexport) LIBINTERSECT_DECL int __stdcall test_func_lib(int l, int b) { подробнее

Показать сообщение отдельно
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
23.10.2009, 00:33     C++ & Win32Api
Есть несколько основных этапов работы с оконными приложениями.

1. Регистрация класса окна: заполнение структуры WNDCLASSEX и собственно регистрация.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    WNDCLASSEX wcex;
 
    wcex.cbSize = sizeof(WNDCLASSEX);
 
    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName   = MAKEINTRESOURCE(IDC_WIN32);
    wcex.lpszClassName  = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
 
        RegisterClassEx(&wcex);
2. Создание окна из указанного класса и запоминание его дескриптора (класс указывается именем. в данном случае имя содержится в переменной szWindowClass):
HWND hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);


3. Оконная процедура. Она обрабатывает все действия с окном (сообщений Windows посылает именно ей). Оконная процедура может быть лишь одна для класса окна. В примере выше для класса с именем szWindowClass указана оконная процедура WndProc:
C++
1
    wcex.lpfnWndProc = WndProc;
Общий вид WndProc:
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
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
 
        case WM_PAINT:
          hdc = BeginPaint(hWnd, &ps);
          
          EndPaint(hWnd, &ps);
          break;
 
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

То есть, если вы хотите создать два окна с разным поведением (дочерные), нужно зарегестрировать класс для него, и создать оконную функцию (например WndProc1).
 
Текущее время: 02:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru