Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Ошибка при создании окна в Windows 10 В общем, написал я программку, на windows 7 она работает прекрасно, но на windows 10 не создается окно (код попадает в блок с ошибкой), проблема в том, что у меня нет возможности лично запустить проект на в10, всё что я могу - это скидывать уже откомпилированные экзешники знакомому)) Может кто-нибудь подсказать, в чем может заключаться проблема? #include <Windows.h> #include <string>... https://www.cyberforum.ru/ win-api/ thread1658386.html C++ WinAPI Не запускается поток
Написал функция для обхода подпапок и поиска в ней файлов с расширением .txt, например. В один поток она работает, но я хочу оптимизировать и пытаюсь использовать потоки. Но я так понимаю они не запускаются, помогите пожалуйста. Заранее спасибо. #include <windows.h> #include <tchar.h> #include <stdio.h> #include <conio.h> #include <iostream> #include <cstdlib> #include <vector> #include...
C++ WinAPI Исправить ошибки компиляции плагина для 3Ds Max! Компилирую плагин для 3Ds Max! При компиляции появляются ошибки... Большинство ошибок однотипны просто находятся в разных строках, помогите решить их на примере, не все, а только 3 основных типа ошибки С2065, С2227 и С2228 Вот как пример из лога компиляции \nvtristrip.cpp(103) : error C2065: 'i' : undeclared identifier class/struct/union/generic type \nvtristrip.cpp(285) : error C2227:... https://www.cyberforum.ru/ win-api/ thread1658136.html C++ WinAPI Выполнение выбранного пункта меню в трее https://www.cyberforum.ru/ win-api/ thread1658099.html
Добрый день Котаны, никогда не писал на С++ но сейчас очень нужно. Допиливаю чужую программу и столкнулся с трудностью. Нужно создать значек в трее с 2 пунктами Запуск и выход И если с созданием значка я справился, Никак не могу понять как сделать так чтоб при нажатии Выход или запуск что происходило Т.е не могу допереть как создать обработчик созданного мною меню Значек и само меню...
C++ WinAPI Проверка на касание статика
Подскажите пожалуйста как проверить мышь на касание статика Допустим я через ресурсы создал статик и хочу при наведение или просто на нажатие по нему выдать сообщение, что я нажал на статик
C++ WinAPI Динамический Char лист в интерфейсе класса Сейчас переменные для char листа создаются внутри метода класса вот так: const char* xMark = {"0", "10", "20", "30", "40", "50", "60", "70", "80", "90", "100"}; //массив значений оси X const char* yMark = {"100", "90", "80", "70", "60", "50", "40", "30", "20", "10", "0"}; //массив значений оси Y Хочу сделать листы динамическими, а переменные доступными внутри всего класса, но не понимаю... https://www.cyberforum.ru/ win-api/ thread1657890.html
C++ WinAPI Обратиться к конструктору дочернего класса в интерфейсе родительского Есть заголовочный файл FirstDlg.h с интерфейсом класса FirstDlg унаследованного от CDialog; Хочу в интерфейсе класса(заголовочном файле) создать экземпляр класса CPaintDC и передать в его конструктор указатель на родительский класс(вроде этого нужно туда передавать или же хэндл окна, не важно); Проблема в том что я не знаю как передать указатель(на FirstDlg) в конструктор экземпляра... https://www.cyberforum.ru/ win-api/ thread1657834.html Определить текущее состояние дескриптора C++ WinAPI
По имеющемуся дескриптору объекта можно определить его текущее состояние. Это делается с помощью т.н. ожидающих функций. Чаще всего используется функция WaitForSingleObject и еще я нашла WaitForMultipleObjects. нужно еще одну:cry:
C++ WinAPI Как получить адрес загружаемого модуля https://www.cyberforum.ru/ win-api/ thread1657357.html
Пытаюсь получить адрес модуля Nwindow.dll - Таким образом HMODULE inc = GetModuleHandle("NWindow.dll"); if (!(inc = GetModuleHandle("NWindow.dll"))){ wsprintfA(buffer, "%d", GetLastError()); MessageBoxA(0, buffer, "buffer error", MB_OK); } else{ wsprintfA(buffer, "inc: 0x%08X\n", inc); MessageBoxA(0, buffer, "buffer addr", MB_OK);
C++ WinAPI Ошибка 'аргумент типа "const char *" несовместим с параметром типа "LPCWSTR"' https://www.cyberforum.ru/ win-api/ thread1657279.html
Здравствуйте, вот только начал изучать библиотеку WinApi и сразу же при первом примере в учебнике столкнулся с ошибкой: #include <Windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(NULL, "Hello Win32 world!", "Hello from Message Box", MB_OK); return 0; } Ошибки в строке MessageBox(NULL, "Hello Win32 world!", "Hello...
SendMessage как принять сообщение? C++ WinAPI
Отправляю сообщение : SendMessage(*hChild, WM_COMMAND, 0, (LPARAM)_T("Соединение установлено")); А как его принять для вывода на экран? case WM_COMMAND: stttr = /*???*/; InvalidateRect(hChild, NULL, TRUE); break; case WM_PAINT:
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
09.02.2016, 18:37  [ТС] 0

При добавлении WM_PAINT перестаёт отрабатывать ToolTips - C++ WinAPI - Ответ 8732006

09.02.2016, 18:37. Показов 1418. Ответов 12
Метки (Все метки)

Ответ

Цитата Сообщение от Убежденный Посмотреть сообщение
Хочешь сказать, что добавление двух строчек, которые ничего не делают,
каким-то мистическим образом влияет на остальной код? Не верю.
Эх =)
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <Windows.h>
#include <commctrl.h>
#pragma comment(lib, "comctl32.lib")
void CreateHint(HWND hwnd, char* strTT)
{
    HWND hwndTT;
    TOOLINFO ti;
    unsigned int uid = 0;
    RECT rect;
    InitCommonControls(); 
    hwndTT = CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,
        NULL,WS_POPUP |TTS_ALWAYSTIP,
        CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
        hwnd,NULL,GetModuleHandle(NULL),NULL);
     SetWindowPos(hwndTT,HWND_TOPMOST,0,0,0,0,
        SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
    GetClientRect (hwnd, &rect);
    ti.cbSize = sizeof(TOOLINFO);
    ti.uFlags = TTF_SUBCLASS;
    ti.hwnd = hwnd;
    ti.hinst = GetModuleHandle(NULL);
    ti.uId = uid;
    ti.lpszText = strTT;
    ti.rect.left = rect.left;    
    ti.rect.top = rect.top;
    ti.rect.right = rect.right;
    ti.rect.bottom = rect.bottom;
    SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti); 
 }
HWND hMainWnd;
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // Variables
    MSG msg;
    WNDCLASSEX wc;
 
    // регистрация класса окна
    memset(&wc, 0, sizeof(wc));
    wc.cbSize = sizeof(wc);
    wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
    wc.lpfnWndProc = WndProc;
    wc.hInstance = GetModuleHandle(NULL);
    wc.lpszClassName = "MainWndClass";
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
 
    if (!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "Не удалось зарегистрировать класс окна", "Error", MB_OK | MB_ICONERROR);
        return 0;
    }
 
    // создаем окно
    hMainWnd = CreateWindow("MainWndClass", "test", WS_OVERLAPPEDWINDOW, 0, 0,
        CW_USEDEFAULT, 0, NULL, NULL, GetModuleHandle(NULL), NULL);
 
    if (!hMainWnd)
    {
        MessageBox(NULL, "CreateWindowEx fail", "Error", MB_OK);
        return false;
    }
 
    ShowWindow(hMainWnd, nCmdShow);
 
    while (GetMessage(&msg, NULL, 0, 0))  {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
 
    return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static HWND hWndTmp;
    switch (msg)
    {
    case WM_CREATE:
        hWndTmp = CreateWindow("BUTTON", "Кнопка", WS_CHILD | WS_VISIBLE, 0, 0, 100, 20, hWnd, (HMENU)1, GetModuleHandle(NULL), NULL);
        CreateHint(hWndTmp,"Нажми меня");
        break;
 
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case 1:
            break;
 
        default:
            break;
        }
        break;
 
    case WM_LBUTTONDOWN:
        break;
 
    case WM_PAINT:
        break;
 
    case WM_CLOSE:
        DestroyWindow(hWnd);
        break;
 
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
 
    default:
        return DefWindowProc(hWnd, msg, wParam, lParam);
    }
 
    return 0;
}
Если закомментить две строчки
C++
1
2
case WM_PAINT:
    break;
то подсказка будет при наведении появляться, если скомилировать как сейчас есть, то подсказка не появится

Вернуться к обсуждению:
При добавлении WM_PAINT перестаёт отрабатывать ToolTips C++ WinAPI
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2016, 18:37
Готовые ответы и решения:

При добавлении кнопки перестаёт работать программа
господа программа выводит картинку+надпись,хотел добавить кнопку , но компилятор начинает...

При изменении размера окна WM_PAINT рисуются лишние линии
Имеется вектор с координатами двух графиков, который устроен по принципу &quot;первое значение - общий...

Почему форма не реагирует на сообщение wm_paint при уменьшении размера окна?
На увеличение размеров окна, частичное вынесение формы за пределы экраны есть реакция в виде...

При разбиении на модули программа перестаёт работать
Программа отлично работает, если пользовательские функции находятся в том же файле, что и функция...

12
09.02.2016, 18:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2016, 18:37
Помогаю со студенческими работами здесь

Экран перестаёт работать при повышении частоты
Здравствуйте. Использую stm32f429 через sdram(fmc) и ltdc. При повышении частоты работы ltdc с 10...

Перестаёт слушаться мышь при быстрых поворотах
Здравствуйте,из-за чего мышка в играх при быстрых/резких поворотах перестаёт слушаться?Сама уходит...

Программа перестаёт отвечать системе, но при этом работает.
Собтвенно вот то что в заголовке. Использую progressbar и во время работы с файлом показывается...

Тормозит ПК при загрузке, после переустановки дров перестаёт
Все игры работают на 50+ fps, но через 10-20 минут после загрузки пк начинают очень сильно...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru