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

C++ и WinAPI

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
JiryGlad
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 16
#1

При нажатии левой кнопки мыши в поле первого окна, открывать второе - C++ WinAPI

18.10.2012, 16:49. Просмотров 1244. Ответов 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
#include <windows.h>
 
const double PI = 3.141592653;
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
char szClassName[] = "First";
char szClass[] = "Second";
 
////////////////////////////////////////////////////////////////////////////////////////////////////
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
      HWND hWnd;  
      MSG lpMsg;
      WNDCLASS wc;
 
      // Заполняем структуру класса окна
      wc.style         = CS_HREDRAW | CS_VREDRAW;
      wc.lpfnWndProc   = WndProc;
      wc.cbClsExtra    = 0;
      wc.cbWndExtra    = 0;
      wc.hInstance     = hInstance;
      wc.hIcon          = NULL;      
      wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
      wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
      wc.lpszMenuName  = NULL;
      wc.lpszClassName = szClassName;
 
      if (!RegisterClass(&wc))
      {
            MessageBox(NULL, "Не могу зарегистрировать класс окна!", "Ошибка", MB_OK);
            return 0;
      }
 
 
      hWnd = CreateWindow( szClassName,                       
            "First", 
            WS_OVERLAPPEDWINDOW,                                                  
            550,   250,                     
            600,  600,                     
            (HWND) NULL,                
            (HMENU) NULL,                              
            (HINSTANCE)hInstance,       
            NULL    );                 
      if (!hWnd) 
      {
            MessageBox(NULL, "Не удается создать главное окно!", "Ошибка", MB_OK);
            return 0;
      }
 
 
      ShowWindow(hWnd, nCmdShow); 
      UpdateWindow(hWnd);
 
      while (GetMessage(&lpMsg, NULL, 0, 0))  
      {
            TranslateMessage(&lpMsg);
            DispatchMessage(&lpMsg);
      }
      return (lpMsg.wParam);
}
 
////////////////////////////////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK WndProc(HWND hWnd, UINT messg, WPARAM wParam, LPARAM lParam)
{
      PAINTSTRUCT ps;
      RECT Rect;
      HDC hdc, hCmpDC;
      HBITMAP hBmp;
 
      switch (messg)
      {
 
      case WM_LBUTTONDOWN:
 
 
          break;
 
            case WM_DESTROY:
                  PostQuitMessage(0);
                  break;
 
            default:
                  return (DefWindowProc(hWnd, messg, wParam, lParam));
      }
      return (0);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 16:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При нажатии левой кнопки мыши в поле первого окна, открывать второе (C++ WinAPI):

Изменить цвет символов на следующий в палитре цветов при нажатии левой кнопки мыши - C++ WinAPI
Всем привет! Задание: Изменить цвет символов на следующий в палитре цветов при нажатии левой кнопки мыши. Выход из программы –...

Открытие/закрытие окна по нажатию/отжатию левой кнопки мыши - C++ WinAPI
Нужно чтобы программа выполняла открытие дочернего окна при нажатии левой кнопки мыши, а при отжатии закрывала дочернее окно. У меня...

Светофор, в котором цвет "зажигается" при нажатии на лампу левой клавишей мыши - C++ WinAPI
Нарисовать светофор, в котором цвет «зажигается» при нажатии на эту лампу левой клавишей мыши. Одновременно может гореть только один...

Нажатие левой кнопки мыши - C++ WinAPI
господа создаю основное окно , а затем с этим же классом создаю дочернее окно вот так #include &lt;windows.h&gt; #define BTN 0x0000012 ...

Зажатие левой кнопки мыши консоль - C++ WinAPI
Как узнать, что кнопка мыши отпущена? Но мне нужно по нажатию начать что-то делать и по отпусканию завершить. Я понимаю, что на отпускании...

Программное нажатие левой кнопки мыши - C++ WinAPI
Господа, кто нить подскажет как можно заставить программу нажимать левую кнопку мыши. Пробовал делать так: ...

1
nightelf18
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 19
19.10.2012, 14:28 #2
Какое окно: диалоговое или нет?
Если диалог: CreateDialog для немодального, DialogBox для модального.
Просто окно: CreateWindow.
Чтобы не было дочерним - не указывайте родителя в параметрах.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2012, 14:28
Привет! Вот еще темы с ответами:

Симуляция нажатия левой кнопки мыши в другом окне - C++ WinAPI
Есть программа (написана на C# - Windows form app) мне нужно послать нажатие лкм по координатам чтобы нажать, допустим, кнопку ...

Подсчет количества "кликов" левой, правой и средней кнопки мыши - C++ WinAPI
Написать приложение в котором ведется подсчет количества &quot;кликов&quot; левой, правой и средней кнопки мыши. Обновляемую статистику необходимо ...

Отпускание кнопки мыши вне окна не обрабатывается - C++ WinAPI
У меня при отпускании кнопки мыши должен срабатывать обработчик, но если пользователь перемещает мышь за окно и отпускает кнопку там, а...

Сохранение позиции мыши при нажатии - C++ WinAPI
Привет, друзья, как можно сделать так, чтобы например, при нажатии на клавишу f курсор мыши переместился на x = 300, y = 400 и оставался в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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