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

C++

Войти
Регистрация
Восстановить пароль
 
Hard
0 / 0 / 0
Регистрация: 28.08.2009
Сообщений: 15
#1

Как предать указатель через LPARAM - C++

20.03.2011, 01:23. Просмотров 860. Ответов 1
Метки нет (Все метки)

Хочу обойтись без глобальных объектов в приложении на Win32Api, в приложении из GUI только два диалога (за основное окно отдувается один из диалогов), можно как-нибудь передать указатель на объект через LPARAM?

Создаю диалог так:

Код
int WINAPI WinMain(...)
{
    DialogBox(hinstance, "Dialog", NULL, DialogProc);
    return 0;
}
В диалоговой ф-ии DialogProc вызывается функция инициализации диалога, сигнатура:
Код
BOOL DialogInit(HWND, HWND, LPARAM);
Можно как-нибудь кидать указатель на объект между этими ф-ми?

LPARAM определен как LONG_PTR, а тот в свою очередь как _w64 long.
Что такое _w64?

Добавлено через 11 часов 12 минут
_w64 - если стоит перед типом, но на 64х битной ОС этот тип будет иметь размер 64 бита.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2011, 01:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как предать указатель через LPARAM (C++):

Вызов через указатель на функцию-член - C++
Всем экспертам привет :) Разбавим раздел, так сказать. Задался тут таким вопросом: Есть класс, в котором объявлено поле типа...

Доступ к элементу массива через ссылку на указатель на вектор - C++
bool checkHorses(vector<int> *qi_1, vector<int> *qj_1, vector<int> *qi_2, vector<int> *qj_2) { int i = 0; extern vector<int>...

Передача функции-члена в качестве аргумента (не через указатель) - C++
Привет! Озадачился такой проблемой - вот пример того, что нужно typedef void(class1::*method)(); void func (method) {}; func...

Зачем нужен указатель на указатель при работе с однонаправленным списком? - C++
День добрый. Столкнулся с непониманием этой темы. В частности, совершенно непонятен алгоритм инициализации такого вот списка. Например:...

Как оброботать WindowProc(Handle, UINT uMsg, WPARAM wParam, LPARAM lParam); - C++ Builder
Привет люди мне нужен совет: как оброботать WindowProc(Handle, UINT uMsg, WPARAM wParam, LPARAM lParam); параметры ну я знаю хендл а...

Передача Float через SendMessage(LParam) - C++ Builder
Возможно глупый вопрос, но ситуация следующая: bool __fastcall TForm1::DataWaveIn(HWND hWnd, HWAVEIN hWaveIn, LPWAVEHDR pHdr) { ...

1
bigredcat
366 / 313 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
20.03.2011, 16:37 #2
Можно как-нибудь кидать указатель на объект между этими ф-ми?
Да, можно, но только в определенных точках программы. Например, при создании диалога при помощи функции CreateDialogParam(..., LPARAM dwInitParam) и еще др. функций вида ...Param. Тогда в DialogProc нужно обрабатывать сообщение WM_INITDIALOG примерно так
C++
1
2
3
4
5
6
7
8
LRESULT CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    static MY_DATA* pMyData;
    switch (uMsg)
    {
    case WM_INITDIALOG:
        pMyData = (MY_DATA*)lParam;
    ...
Что такое _w64?
__w64
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2011, 16:37
Привет! Вот еще темы с ответами:

WPARAM wParam, LPARAM lParam - C++ Builder
Приветствую всех! Пересмотрел по инету много тем, с WPARAM wParam, LPARAM lParam, но в данном случае не знаю как прописать в void...

компилятор выдает ошибку на loword(lparam) - C++ Builder
Пытаюсь сделать рисование мышкой в билдере со связкой opengl, и нашла пример кода http://****************.ru/showthread.php?t=115509 . Так...

Структуры и их передача через указатель - C++ Builder
Есть структура static struct Flash { std::string name ; unsigned short page ; unsigned short byte ; unsigned char ...

Как предать id пользователя - PHP
Всем доброго времени суток! Подскажите пожалуйста, как можно получить id пользователя, при голосовании? <?php ...


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

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

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