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

Почему EnumChildWindows не работает в классе? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите с ошибкой Access violation reading location 0x1ed1d9f8. http://www.cyberforum.ru/cpp-beginners/thread495538.html
Не могу разобраться с VS.... У меня был хороший, проверенный проект, в котором все хорошо работало и небыло проблем. Тут я стал добавлять в класс ххх новые возможности, связанные с считыванием файла. Тут все и начилось - допустим, что при считывании файла могут произойти ошибки (ну считываем там int вместо char), код написан, компилируем, 0 error 0 warning. Все ОК. Запускаем. Вылетает ...
C++ Изменение ProgressBar диалогового окна из любого места Программирую на Визуале только 3 месяца, и не до всего могу сама докопаться. Подскажите кто может. При выборе пункта меню необходимо вызвать диалоговое окно с прогрессБаром. На диалоговом окне нет никаких кнопок только этот прогрессБар. Таким образом нужно сразу при запуске этого диалога отображать процесс движения индикатора. Движение этого Бара зависит от вычислений, производимых в другом... http://www.cyberforum.ru/cpp-beginners/thread495537.html
C++ Как иcследовать DLL написанную на С++ 5.0?
Необходимо ее использовать в своем проекте на C#, необходимы имена методов и их параметры. Документации нет. *.h файла тоже нет.
C++ Как получить данные полей в выделенной строке DataGrid Control???
Народ! Помогите, пожалуйста, найти как можно взять данные полей в выделенной строке в ActiveX элементе Datagrid Control или через связанный с ним ADO OLEDB Control? Подскажите, плиз!!!
C++ модуль для проверки вводимых данных http://www.cyberforum.ru/cpp-beginners/thread495478.html
Есть программа, #include <iostream.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> void pMass(int mas) {
C++ Balloon в трее не исчезает после истечения положенного таймаута Вот метод который выводит балон: void MyFrame::showBalloonTip(char* s) { nid.cbSize = sizeof(nid); nid.hWnd = m_hWnd; nid.uFlags = NIF_INFO; lstrcpyn(nid.szInfo, TEXT(s), sizeof(nid.szInfo)); strcpy(nid.szInfoTitle, 'Новые сообщения !'); подробнее

Показать сообщение отдельно
Kovalsky2
0 / 0 / 0
Регистрация: 05.08.2009
Сообщений: 96
23.05.2011, 00:40     Почему EnumChildWindows не работает в классе?
Всё правильно,так он и должен орать - ф-ция static.
Теперь,либо делаем все static,что в большенстве
случеев не устраивает.Либо в качестве LPARAM BigButtonEnum(...)
передаём this класса:
в MyClass.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class MyClass
{
public:
....
BOOL CALLBACK BigButtonEnum_NoStatic(HWND hwnd);
static BOOL CALLBACK BigButtonEnum(HWND hwnd, LPARAM m_this)
{
if (!m_this)return FALSE;
MyClass* mClass=(MyClass*)m_this;
return mClass->BigButtonEnum_NoStatic(hwnd);
};
....
}
а в MyClass.cpp
C++
1
2
3
4
5
6
7
8
BOOL CALLBACK BigButtonEnum_NoStatic(HWND hwnd)
{
 
return TRUE;
}
.............
EnumWindows((WNDENUMPROC)BigButtonEnum,(LPARAM)this);
.............
 
Текущее время: 12:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru