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

Передача параметров в функцию WndProc - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сноска строки http://www.cyberforum.ru/cpp-beginners/thread434505.html
Как снести строку Программным способом? Или как выделить что бы писать на 2 строке и на 3 и на 4. m_zone1="Добро пожаловать."; Добавлено через 15 часов 2 минуты Как? Как это сделать?
C++ класс колоды карт и карты помогите найти ошибку не компелируется! #include <iostream> #include <stdlib.h> #include <time.h> #include <locale> using namespace std; struct Karta{ int mast, rang; Karta():mast(-1),rang(-1){}; }; http://www.cyberforum.ru/cpp-beginners/thread434498.html
Проверка с if C++
Есть треугольник забитый (*) надо сделать пустоту в нем оставить только контур -------* ------*-* -----*---* ----*-----* ---*-------* --*---------* -********** Не знаю где проверки всдить
C++ Кратное число
Задан массив из 10 чисел Вывести те числа чей порядковый номер кратен 3! не выводит число :( # include<iostream> using namespace std; int main(){ int m ={5,3,8,2,4,56,23,1,7,3}; for (int i=-1; i>9; i++){ if (i%3==0){ cout << m ; }
C++ Установка параметров к переменным http://www.cyberforum.ru/cpp-beginners/thread434478.html
Нужно что бы кнопка после нажатия становилась невидимой.. Надо как то применить к ней "Visible(TRUE)" Вопрос заключается как? Я у кнопки создал переменную "m_rus1" с типом - Control Вот както так выглядит тычок на кнопку... Продожите плиз "m_rus1" void Cmy12Dlg::OnBnClickedButton1() { m_stat2="Русский язык активирован."; m_zone1="Добро пожаловать.";
C++ Переделать структуру дан код, ввод из файла там 7 строк,..нужно переделать так чтобы выводил 8 строк...добавляю строку в файле и меня значение в программе, а она выводит пустую табличку.. вот код #include <iostream> #include <fstream> #include <string> using namespace std; struct Znak{ string name; подробнее

Показать сообщение отдельно
GotoFreeMan
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 20

Передача параметров в функцию WndProc - C++

24.01.2012, 19:35. Просмотров 798. Ответов 3
Метки (Все метки)

Начал осваивать WinAPI и столкнулся со следующей проблемой - необходимо передать в качестве параметров некоторые переменные в функцию WndProc:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
LRESULT CALLBACK WndProc(
  HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    cout<<"at bottom of message\n";
  switch (message)
  {
      cout<<"In msg\n";
 
  case WM_PAINT:
 
    cout<<"In paint";
    hdc=BeginPaint(hWnd, &ps);
    CRASH(timecount,CAR,n,ROAD,NumOfRoad);
 
    EndPaint(hWnd, &ps);
 
    break;
В функцию CRASH надо передать 2 массива объектов (CAR,ROAD) и 3 целочисленные переменные(n, NumOfRoad, timecount).
Собственно вопрос как это сделать, если возможно, и если это глупо и невостребовано, то как сделать так, чтобы функция CRASH "увидела" вышеперечисленные переменные, объявленные в другом месте программы?
Вот кусок кода, где они объявляются и происходит цикл отправки сообщений:

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
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
        HDC hdc; //создаём контекст устройства
    PAINTSTRUCT ps; //создаём экземпляр структуры графического вывода
  // выборка и обработка сообщений
  srand(time(NULL));
    //Параметры дорог
        char inputfile[255];
        cout << "Input name of file with description of roads: ";
        cin >> inputfile;
        int NumOfRoad=numberroad(inputfile);
        cout<<NumOfRoad<<'\n';
        //Выход в случае, если файл не найден
            if (NumOfRoad<1)
            {
                cout << "There is no roads. Maybe you input wrong name of file" << '\n';
            };
        ROADS ROAD[NumOfRoad];
        cout<<"Make roads\n";
        inputroad(inputfile, ROAD, NumOfRoad);
    cout<<"out of NOR\n";
    //Параметры машин
        int n;
        cout << "Input number of cars: ";
        cin >> n;
        CARS CAR[n];
 
    //Распределяем машины по дорогам
        distribution(ROAD, NumOfRoad, CAR, n);
    //Параметры аварии
        float NumRoad,HMLine,NumLine;//Номер дороги, количество линий, Начальный номер линии
        //cout << "Input crash parametrs: number of road, how many lines busy, number of first busy line(from left to right) ";
        //cin >> NumRoad>>HMLine>>NumLine;
        int timecount;
        //cout << "Input time passing from accident in seconds: ";
        //cin >> timecount;
 
    //Создание окна для рисования
        LPCTSTR lpzClass = TEXT("My Window Class!");
        RegMyWindowClass(hInstance, lpzClass);
        HWND hWnd = CreateWindow(lpzClass, TEXT("Dialog Window"),
        WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0, 0, XSCR, YSCR, NULL, NULL,
        hInstance, NULL);
        MSG msg = {0};    // структура сообщения
        int iGetOk = 0;   // переменная состояния
        while ((iGetOk = GetMessage(&msg, NULL, 0, 0 )) != 0) // цикл сообщений
        {
            if (iGetOk == -1) return 3;  // если GetMessage вернул ошибку - выход
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
 
    return msg.wParam;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru