|
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
|
||||||
Не отображает кнопки в рабочей области24.12.2013, 03:54. Показов 1836. Ответов 11
Метки нет (Все метки)
Доброго времени суток, уважаемые специалисты. Столкнулся с проблемой, которую нахожу по всему сайту, но решается она у всех каким-то магическим образом: создаю Button, который даже выполняет событие, но абсолютно не под какими предлогами не хочет отображаться(создаваемое родительское окно задается поверх всех запущенных + строится по маске изображения)
0
|
||||||
| 24.12.2013, 03:54 | |
|
Ответы с готовыми решениями:
11
Действия при нажатии левой(правой) кнопки мыши в рабочей области окна Создание кнопки в рабочей области Кнопки выходят за пределы рабочей области, Bootstrap |
|
Заблокирован
|
|
| 24.12.2013, 05:05 | |
|
Вы пытаетесь создать окно с прозрачным фоном а-ля Aero и разместить на нём стандартные контролы?
Не получится, рисуйте свои. Или откажитесь от свистоперделок вовсе (сомневаюсь, что это так уж тяжело). (Завтра попробую посмотреть, но вряд ли что выйдет - ни одного рабочего решения я не видел, хотя сам в своё время искал.) Если Вам нужно просто нарисовать PNG на окне, то уберите UpdateLayeredWindow() и BLENDFUNCTION и просто рисуйте изображение прямо на HDC.
0
|
|
|
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
|
||
| 24.12.2013, 13:51 [ТС] | ||
|
Просто вообще не понимаю, каким образом мой тип задания окна мешает выводу кнопки: чтобы я там не воротил с родительским окном, кнопка все равно задается как потомок и с параметром Visible, то есть по всем законам должна отображаться в рабочей области. Попросту не улавливаю конфликта... Добавлено через 43 минуты Не знаю, как обновить предыдущий пост и направить его Водяному Змею(кто может, объясните на будущее), но ваш ответ про окна Aero и впрямь оказался полезным. По крайней мере теперь я нашел конфликт. Действительно окна Aero вроде как создаются при помощи свойства Layered и если убрать слоистость окна, то элемент управления появляется. Однако пока остается вопросом, возможно ли при наличии слоистого окна добавить окно потомка, потому что кроме этого метода, если честно не знаю как сотворить окно формы битмапы оффтоп: а вот оно что, сообщение само по себе приклеивается к предыдущему=)
0
|
||
|
Заблокирован
|
|||
| 24.12.2013, 14:35 | |||
По идее, есть способ получше. Есть такая штука, как Winforms. Это из дотнета. Там нечто подобное можно сделать, если перехватить событие отрисовки фона окна и в нём средствами GDI+ рисовать картинку. Тогда стандартные контролы размещаются нормально. (С CreateWindow() не пробовал, но, думаю, тоже сработает). Только там надо ещё окну регион задать, чтобы прозрачные точки исключить и по ним можно было кликать мышкой, как по более нижним окнам или рабочему столу. Его можно создать самому, просканировав картинку на предмет таких точек. Хотя если окно несложной формы, то можно и без этого обойтись - никто и не заметит, что там мышка не кликает. Добавлено через 2 минуты
Там DirectX. Может, если и Вы изучите DirectX и примените в своём примере, то тоже прокатит - он посильнее, чем GDI+.
0
|
|||
|
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
|
||
| 24.12.2013, 15:31 [ТС] | ||
|
Что касается перетаскивания с растягиванием: растягивания не предусмотрено как такового, а вот перетаскивание должно вроде как ведь работать правильно, расположение потомка ведь задается относительно рабочей области,нет? А на счет директа.. Изучить то было бы пожалуй не лишним, но вряд ли пока ради новогодней минипрограммки оно нужно) Добавлено через 14 минут А если поверх отрисовать еще одно прозрачное окно, оно опять же из-за прозрачности кнопки не будет отображать?
0
|
||
|
Заблокирован
|
||||
| 24.12.2013, 17:19 | ||||
2) Лучше C# учите для формочек, он не сложнее, но куда востребованнее у заказчиков.
Ведь так даже оригинальнее. И GDI+ глубже изучите.
1
|
||||
|
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
|
|||||||||||||
| 25.12.2013, 00:56 [ТС] | |||||||||||||
|
Бороздил просторы интернета и нашел несколько вариантов запрета перемещения окна, но почему то оба не дают ровным счетом никакого эффекта: Первый
Второй
В связи со всем этим, может сможете помочь защитить окно от мыши?)
0
|
|||||||||||||
|
Заблокирован
|
||
| 25.12.2013, 02:18 | ||
Тогда ничего само по себе перемещаться не будет, только если Вы запрограммируете.
0
|
||
|
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
|
||
| 25.12.2013, 02:58 [ТС] | ||
|
0
|
||
|
Заблокирован
|
||
| 25.12.2013, 03:06 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 6
|
|||||||
| 25.12.2013, 11:02 [ТС] | |||||||
)В целом, закончил программу с парочкой маленьких косяков : фон статика с текстом почему-то не могу обнулить:
0
|
|||||||
| 25.12.2013, 11:02 | |
|
Помогаю со студенческими работами здесь
12
В рабочей области отображена надпись "Нажмите правую клавишу мыши над рабочей областью" Перезапуск рабочей области Деление рабочей области Разделение рабочей области Интерфейс рабочей области Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|