|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
Каким методом создано окно гугл хром (для примера)23.09.2020, 13:09. Показов 2761. Ответов 8
Метки нет (Все метки)
Здравствуйте,
Подскажите пожалуйста, как устроено или каким методом создано окно к примеру гугл хром ? Меня даже не метод создания интересует, а вот это: Я думал, что каким бы методом не создается окно, но, если это окно создается в Windows, то оно должно работать неким стандартным образом: ну к примеру если водить курсором мышки в пределах окна, то для этого окна всегда должно генерироваться сообщение: WM_SETCURSOR, WM_MOVE и координаты где нибудь в wparam/lparam. Но к примеру в окне гугл хром, spy++ вообще почти никаких сообщений не видит, кроме буквально - WM_CAPTURECHANGED и еще не скольких. И как устроено поле ввода текста тоже не понятно, это тоже не окно "edit", но поле ввода есть и работает.
0
|
|
| 23.09.2020, 13:09 | |
|
Ответы с готовыми решениями:
8
А можно узнать с каким значением второго параметра функции CreateWindow создано окно? Прошу помоши! Появилось окно в браузере Гугл Хром Закрыть окно, из которого создано новое окно |
|
|
|
| 23.09.2020, 13:45 | |
|
Там окно с дочерними окнами. И всё им приходит как и следует, как и всех окнам.
Добавлено через 2 минуты А вот все визуальные элементы вроде бы всегда "свои-нарисованные"...
1
|
|
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||
| 23.09.2020, 13:48 [ТС] | ||
|
0
|
||
|
|
|
| 23.09.2020, 13:53 | |
|
Я же сказал, нарисованные они. Картинка это.
![]() Добавлено через 2 минуты В событии WM_PAINT на окне просто рисуется фон/рамка/текст. Вот и "edit".
0
|
|
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 23.09.2020, 13:55 [ТС] | |
|
Но, ведь одно дело рисунок - другое, само как бы поле должно, как то работать - ну там курсор установить, ввод текста осуществить. В рисунок же ввод текста не осуществишь ?
0
|
|
|
|
|
| 23.09.2020, 14:04 | |
Сообщение было отмечено Optimus11 как решение
Решение
На самом деле даже стандартный "edit" просто окошко с картинкой. Магического в нём ничего нету. Получает сообщения мыши и клавиатуры, анализирует, запоминает что-то, выводит.
Просто оно оформлено как отдельное окно с каким-то управлением извне через сообщения к HWND. И к нему кажется даже вроде из стороннего процесса можно тыкнуться. Добавлено через 1 минуту Знаем какого размера шрифт, знаем куда ткнули мышкой, вычисляем в какие символы попали - делаем выводы. Добавлено через 3 минуты Мигающая палочка между символов - каретка - просто доп-анимация. Изначально её вроде даже выводили как XOR, так что не надо было перерисовывать всё - сверху дорисовывали одно и то же по таймеру.
1
|
|
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|||||||
| 23.09.2020, 15:53 [ТС] | |||||||
|
Но, если я к примеру создам окно и прост ос помощью SetWindowText - выведу какой нибудь текст, я не смогу не выделить его не скопировать. Неужели, эффект выделения текста - это тоже:
0
|
|||||||
|
|
|
| 23.09.2020, 17:05 | |
|
Под капотом - да, разумеется. Выделение - по идее
WM_MOUSEMOVE с зажатой кнопкой мыши. Просто перерисовывается когда это нужно.Добавлено через 1 минуту Окно активно и оно видит что нажали Ctrl+C или Ctrl+V - вызывает всякие GetClipboardData()/SetClipboardData().Добавлено через 1 минуту Определённые знакомые готовые блоки выведены и запакованы в отдельные единицу, с конкретным функционалом. Чтоб не нужно было вручную это всё проделывать каждый раз с нуля. Всё уже сделано и отлажено за нас. ![]() Добавлено через 3 минуты Под Делфи есть компоненты TButton и TSpeedButton - глазами не отличишь, реагируют на всё абсолютно одинаково. А вот если покопаться... Оказывается что первое - это дочернее окно-аналог стандартного "BUTTON" (типа потомок), а второе - просто картинка на основном окне (без дочерних окон).
1
|
|
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,119
|
|||||||
| 23.09.2020, 18:57 | |||||||
Сообщение было отмечено Optimus11 как решение
Решение
1
|
|||||||
| 23.09.2020, 18:57 | |
|
Помогаю со студенческими работами здесь
9
Расширение для Гугл Хром
В Гугл Хром для воспроизведения некоторых видеоблоков и игр просит обновить флэшплеер Можно ли свернуть или скрыть окно чужой программы, если оно создано не средствами WinAPI? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|