![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Привет народ!!!
У меня такой вопрос, как сделать чтобы форма не могла получить фокус ввода (например как кнопка TSpeedButton), т.е. чтобы вам было более понятно, то могу сказать так: я делаю курсач на тему, создание рабочего стола, в нём создано некоторое количество форм, но главная форма на которой находятся ярлыки, если она получает фокус ввода, а при этом открыты др. окна, то они (как бы) закрываются. ...А ещё лучше бы сделать так чтобы, форма могла получать фокус ввода, но всегда была позади остальных окон, как сам стандартный Desktop. Заранее благодарен!!! |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
В архиве два варианта решения:
1)Через обработку сообщения 2)Через Explorer Второй вариант банальный Удачи. Это сообщение отредактировал(а) Girder - 17.11.2004, 01:57 Присоединённый файл ( Кол-во скачиваний: 7 )
ZB_Girder.zip-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Girder, спаибо конечно, на твоём примере, работает замичательно, но я здесь непонял как ты всё делал, за счёт исп. большого кол-ва API, но попробывал, просто воткнуть всё что есть в своё главное окно, которое иметирует рабочий стол, и тут всё глюкнуло, да впредачу открылись остальные дополнительно созданые формы.
Не знаеш способа попроще, или догадатся почему у меня мог быть глюк??? |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
PS: Я не телепат... Это сообщение отредактировал(а) Girder - 16.11.2004, 10:06 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Гирдер, проверь свою почту, там тебе посылка...
Только когда распакуешь, перед запуском, в файле Regedit.txt, незабудь указать путь к папке Desktop, пример там есть (т.е. путь на моём компе...)
Ладно, насчёт догодатся...Это я так сказал, к слову, просто я думал что ты напишеш, что-нибудь попроще... И кстати, на счёт дополнительно-создаваемых, форм: я их тоже создавл в твоём файле, там глюков небыло... Заранее спасибо!!! |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
И еще: я там отвезался от жесткой привязки к пути, но вроде не везде... Удачи. -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Girder, спасибо за попытку исправить, но всётаки те глюки про которые я тебе говорил (например окно, переключения между языками и.т.п.) там загружается при запуске программы.
Я специально сделал файл Regedit.txt, чтобы там определялся путь к exe-файлу. т.к. программно я недадумался как это реализовать. Я не знаю чё ещё ты там нахимичил, но теперь там ещё и открытие многих вещей (например окно соответствуюющее кнопки пуск) открывается ниже чем надо... Но ладно, все эти мелочи, всё ерунда, самое главное, почему у тебя всё работате без глюков, а у меня опять всё не так как надо. Girder, а незнаеш, может есть какая-нибудь WinAPI, чтобы сделать окно постоянно позади всех др. окон, для примера, вот так можно сделать чтобы окно всегда было поверх остальных окон и обратно
Заранее благодарен!!! |
||||
|
|||||
| Girder |
|
||||||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Ладно... еще щас посмотрю и вышлю... Удачи. -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||||||
|
|||||||||||
| Zero |
|
||||||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Добрый ночи Girder, спасибо что выслал мне второй вариант!!!
Я уже 5 часов сижу его разбераю, и переделываю, но всётаки мне не совсем понятны некоторые вещи... Не мог бы ты мне немного пояснить, след... Во первых как ты умудрился убрать строку
И при этом как-то экран всё равно увеличивается... А, да кстати, спасибо тебе что помог мне избавится от привязки к Regedit.txt, ото я сам это пытался сделать, но так и не получилось, а создавать тему с такими тупыми вопросами и отвликать всех мне не хотелось, поэтому и пришлось делать всякие примудрости. Ладно, что-то я отвлёкся, ещё уменя, такие вопросы по коду:
Потом процедура WndProc, это вообще просто тёмный лес
Потом, я часто встречаю, употребление слов Хендл, но доконца немогу понять их смысла Ну, т.е. в процедуре создания формы, есть два цикла, что каждый из них делает... 1─ый цикл
2─цикл
Потом в процедуре OnActive, я пологаю ты сделал чтобы прогу, можно было сворачивать??? Но каким образом это происходит??? Я понял только некоторую часть процедуры, но из-за того что многое непонял, не могу понять смысла её работы:
Там где стоят вопросы, я непонял... Ещё, зачем нужна вот эта процедура, что она делает???
И в модуле Panel
Girder, извени что назадавал много вопросов, но просто у меня остался срок до текущей суботы, а чтобы самому, всё это разобрать нужно ...я даже не знаю сколько, но врядли управлюсь вовремя. Но всётаки если ты мне на них ответиш, то я тебе буду очень признателен, и к тому же у меня уже скоро набежит 100 сообщений... Заранее, благодарен, за неленивчивость!!! |
||||||||||||||||
|
|||||||||||||||||
| Girder |
|
||||||||||||||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
PS: Перед применением SetParent, нужно еще стиль переопределяемого окна корректировать... но мне было лень енто добавлять. Все равно енто курсовой и препод и так ни чего не поймет... Удачи. Это сообщение отредактировал(а) Girder - 17.11.2004, 11:31 -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||||||||||||||
|
|||||||||||||||||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Препод, тоже профессиональный программист Спасибо, что вы с Послом самые не ленивые (ко)модераторы!!! И спаибо тебе, огромно за помощь!!! Теперь кроме того что у меня всё хорошо стало работать, я ещё более менее разобрал некоторые вещи... Это сообщение отредактировал(а) Girder - 17.11.2004, 14:10 |
||||
|
|||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |