SAndrus
|
|
« : 26-04-2010 16:48 » |
|
Не получается редактировать поле редактирования. Может есть возможность оставить стиль WS_EX_TOOLWINDOW
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #1 : 27-04-2010 04:47 » |
|
выяснил проблема не в стиле WS_EX_TOOLWINDOW а наборе стилей WS_CAPTION | WS_SYSMENU | WS_THICKFRAME на диалоге все работает, но там совсем другое окно. Пробую разные стили. Спасибо за интерес
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #2 : 27-04-2010 04:52 » |
|
точнее после показа заголовка эта петрушка и начинает происходить, поле CEdit не могу редактировать
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #3 : 27-04-2010 05:36 » |
|
SAndrus, а про что речь то ? Расскажи хоть
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #4 : 27-04-2010 05:57 » |
|
Создаю проект в VC6 SDI делаю чтоб окно CChildView было с заголовком (стили WS_CAPTION | WS_THICKFRAME) создаю CEdit стандартно: m_ed.Create(WS_VISIBLE|WS_CHILD|WS_BORDER,CRect(10,10,100,30),this,11); m_ed.SetWindowText("dsff"); и даже не ставя стиль WS_EX_TOOLWINDOW уже не получается редактировать CEdit почему не могу разобраться, чет не понимаю опять
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #5 : 27-04-2010 06:39 » |
|
не получается редактировать CEdit
что под этим подразумевается ? Покажи пример и каким боком WS_EX_TOOLWINDOW относится к едиту ?
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #6 : 27-04-2010 06:47 » |
|
В первом топике приложен файл проекта набрать текст в поле не получается
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #7 : 27-04-2010 07:21 » |
|
поковырялся немного, дело не в едите, а в стиле вьюхи
cs.style |= WS_OVERLAPPEDWINDOW;
после него вью не даёт поставить на себя фокус (и на едит тоже, естественно). Почему - некогда разбираться, только вечером смогу
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #8 : 27-04-2010 07:31 » |
|
Спасибо, сам догнал и пытался объяснить, не получилось. А почему тоже не пойму.
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #9 : 27-04-2010 07:38 » |
|
CEdit - это контрол, а в данном случае теребуется, насколько я понимаю, CEditView. SAndrus, пробовал?
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 27-04-2010 07:47 » |
|
Джон,так без WS_OVERLAPPEDWINDOW едит редактируется нормально. Скорее, SAndrus'у, нужен СFormView, а ресурс для ненго можно прямо в редакторе ресов сделать
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #11 : 27-04-2010 07:51 » |
|
Можно сделать и через CFormView, а для остального матчасть - иерархия классов MFC.
|
|
« Последнее редактирование: 27-04-2010 08:24 от Джон »
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
SAndrus
|
|
« Ответ #12 : 27-04-2010 08:15 » |
|
CEditView работает но он требует структуры документ вид а ее у меня нет. А как с простым полем редактирования может получится разобраться. А то это поле на контролле вводить цифры не хотелось бы усложнять. Спасибо
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #13 : 27-04-2010 08:23 » |
|
Ну добавь? Какие проблемы? Это ж просто делается. Всё-равно тебе данные надо где-то хранить.
А что с FormView?
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 27-04-2010 08:30 » |
|
SAndrus, stop brainfucking and use Wizard ) Визард сделает тебе фрейм+документ+формвью на раз. Экономия времени и нервов
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #15 : 27-04-2010 08:33 » |
|
ЭУ регулятор громкости цифирки чтоб подправить надо редактировать и сюда добавить документ? Может есть варианты попроще. С форм видом разбираюсь.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #16 : 27-04-2010 08:43 » |
|
SAndrus, лично я CDocument тоже не пользуюсь, но раз ему надо - ну и пущай. У меня этот класс просто как визард сделал, такой и остаётся. Если хочется "просто подправить", то сделай dialog-based. Будет предельно просто
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #17 : 27-04-2010 09:05 » |
|
Чет грустно становится, при мысли, что на простое создаваемое окно, гдеб ни было, нельзя добавить поле редактирования, а для этого надо заморачиватсья с документами. Понятно, что визард сам все делает. Кстати если ЭУ на диалог вешаю все четко, но основная прога уже на SDI сделана. А вот если папу полю редактирования поставить MainFrame, то редактировать можно, ток вьюху сдвинуть надо, может можно обойти как-нить
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #18 : 27-04-2010 09:06 » |
|
еще помучаюсь с CEdit, может получится че без видов этих, вьюха это же простое окно от CWnd сделанное
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #19 : 27-04-2010 09:52 » |
|
Да, но проблема в том, что это простое окно у тебя обязательно должно быть Child от Frame, да ещё в SDI и со стилем WS_EX_TOOLWINDOW. Это ни в какие ворота не лезет. Всё в кучу собрал, всё что можно. Может тебе просто modeless диалог будет в самый раз?
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
SAndrus
|
|
« Ответ #20 : 27-04-2010 10:15 » |
|
я на диалогах и делал всегда, проще, но там не менюшек ни прочего нет, а здесь первый раз столкнулся, наворочено жуть, разбираться голову сломаешь, вроде все от CWnd а фокус ввода куда девается не пойму.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #21 : 27-04-2010 10:20 » |
|
SAndrus, спай++ говорит, что фокус на едит в твоём проекте просто не ставится
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #22 : 27-04-2010 10:43 » |
|
SAndrus, мы так далеко не уедем. Сформулируй конкретней задачу. Почему это должен быть именно frame со стилем WS_EX_TOOLWINDOW? Какие у него ф-ции? Какой режим работы с основной программой (модальный/немодальный)?
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
SAndrus
|
|
« Ответ #23 : 27-04-2010 11:02 » |
|
Программа представляет из себя окно на весь экран, разбитое на 5 частей-окон, в трех графики, в одном битмап с прорисовкой, в другом таблица, три из этих окон с графиками есть возможность закрыть, при закрытии всех таблица растягивается до низа окна, frame это только основное окно, на нем меню, тулбар, статус строка, на графиках стоят ЭУ-регуляторы на которых это поле редактирования, в принципе графики можно попробовать сделать на диалогах
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #24 : 27-04-2010 11:04 » |
|
что же тут так накручено, что показ заголовка окна блокирует поле ввода, с ума сойти
|
|
|
Записан
|
|
|
|
SAndrus
|
|
« Ответ #25 : 27-04-2010 11:41 » |
|
Спасибо, графики на диалоге нормально получаются
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #26 : 27-04-2010 11:55 » |
|
Да уж... Задачи для SDI нет как я понимаю... Ты говоришь, что раньше это делал всё на диалогах? В принципе если это поможет, то сделать диалог с изменяемым размером и менюшкой+тулбаром не так уж и сложно. По твоей проблеме в проекте из первого поста. Посмотри у тебя при старте ни у одного элемента нет фокуса. Почему? Фокус не ставится по той причине, что стиль WS_EX_TOOLWINDOW, вы когда-нить пробовали поставить фокус на тулбарной кнопке? А это именнно WS_EX_TOOLWINDOW. Этот стиль именно для таких плавающих окошек и предназначен. Чтобы не красть фокус с основного окна. Иначе каждый раз при установки например курсива, нам пришлось бы возвращаться в окошко редактирования. И тп. Я думаю идея ясна. Поэтому я и спрашиваю, какая потребность именно в этом стиле? Просто окно тебя не устроит? зы Причём программно фокус ставится великолепно, добавь после создания m_ed.SetFocus(); и сразу сможешь редактировать.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
SAndrus
|
|
« Ответ #27 : 27-04-2010 12:30 » |
|
да это то что нужно , у меня в ЭУ отслеживается щелчек мыши по месту где создается или появляется едит Спасибо.
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #28 : 27-04-2010 12:34 » |
|
Но всё-равно, очень наворочено и ИМХО без особой на то необходимости. Лучше тебе продумать архитектуру получше. Хотя решать тебе.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
SAndrus
|
|
« Ответ #29 : 27-04-2010 13:04 » |
|
Наверно первый блин, как получилось, времени уже мало, переделывать поздно
|
|
|
Записан
|
|
|
|
|