![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Пользователь
Регистрация: 13.01.2013
Сообщений: 94
|
![]()
Слишком это для меня непонятно(
Вот я объявил структуру для хранения номера окна, расположения файла, и текста из файла. Код:
Код:
|
![]() |
![]() |
![]() |
#22 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Сделайте проще:
Глобальный массив из структур документа. Тем самым будет лимит на количество открытых документов но думаю это можно пережить. Далее, одно из полей структуры - HWND окна. Когда нужно найти структуру, просматривайте весь масив, пока не найдете нужное окно. Будет легче использовать HWND окна, чем номер. |
![]() |
![]() |
![]() |
#23 |
Пользователь
Регистрация: 13.01.2013
Сообщений: 94
|
![]()
Я уж было начал делать, но ведь столько мороки будет по сортировке массива структур плюс поиск структуры при каждом обращении к документу.. Прошлый способ мне больше нравится.
Объясните пожалуйста как при создании структуры нового окна сделать её индивидуальной, ведь она постоянно создаётся как Struct1 и в итоге у меня есть только одна эта структура, сколько бы окон я не создавал. И как в моём случае использовать SetWindowLongPtr? переменную int nOkna я заменил на HWND Handle, но нужна ли она вообще? |
![]() |
![]() |
![]() |
#24 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
struct mystruct* ptr = malloc(sizeof(mystruct));
SetWindowLongPtr(hWnd, GWLP_USERDATA, LPARAM(ptr)); |
![]() |
![]() |
![]() |
#25 |
Пользователь
Регистрация: 13.01.2013
Сообщений: 94
|
![]()
Хоть это и не относится к апи, думаю, не стоит создавать новую тему.
Вот то немногое, что появилось в коде: Код:
В последней строчке, как я понял, нужно ставить hChild так как mystruct принадлежит текущему дочернему окну. Пожалуйста, объясните подробно как нужно делать и что делает код из Вашего примера. ![]() Последний раз редактировалось x_Alex_x; 02.04.2013 в 11:29. |
![]() |
![]() |
![]() |
#26 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Может у вас расширение файла cpp?
Измените на .с |
![]() |
![]() |
![]() |
#27 |
Пользователь
Регистрация: 13.01.2013
Сообщений: 94
|
![]()
Изменение ни на что не повлияло.
объясните плз что к чему Mystruct* ptr может правельнее Mystruct *ptr или неважно? |
![]() |
![]() |
![]() |
#28 |
Пользователь
Регистрация: 13.01.2013
Сообщений: 94
|
![]()
Изменение ни на что не повлияло.
объясните плз что к чему Mystruct* ptr может правельнее Mystruct *ptr или неважно? |
![]() |
![]() |
![]() |
#29 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
struct Mystruct* ptr = (struct Mystruct*) malloc(sizeof(mystruct));
Кстати, зачем нужна переменная mystruct? sizeof() может работать с типом переменной. сравните: int var; sizeof(var); sizeof(int); |
![]() |
![]() |
![]() |
#30 | |
Пользователь
Регистрация: 13.01.2013
Сообщений: 94
|
![]() Цитата:
Может нужно так: malloc(sizeof(Mystruct)) struct Mystruct {}- так ведь объявляется структура, а так Mystruct mystruct1 она создаётся? Получается я при создании окна hChild объявляю структуру Mystruct. только зачем? Ведь здесь нужно её создавать, делать на неё указатель и присоединять её к созданному hChild. struct Mystruct* ptr = (struct Mystruct*) malloc(sizeof(mystruct)); Можно расшифровку по-русски? |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WinApi и С/С++ разные вещи | Sylar9 | Общие вопросы C/C++ | 2 | 27.03.2012 23:41 |
завернуть флеш в учу оболочку | gufon | Общие вопросы Delphi | 3 | 20.07.2011 07:13 |
учу borland С++ builder 6 | Dazzl | C++ Builder | 3 | 13.05.2011 18:01 |
Учу Си++ под Linux, необходима помощь | prog16 | Свободное общение | 12 | 09.08.2009 15:15 |
Разные вопросы о Delphi | Enko | Помощь студентам | 21 | 10.09.2007 05:54 |