Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

получения шапки программы через OpenDialog


Страницы:   1 2

Hapastiks ©   (2010-07-16 11:52:00) 

На одном из форумов я задал этот вопрос, ответа не дали, пришел к вам.
Собствено вопрос: как получить шапку программы через OpenDialog


Плохиш   (2010-07-19 10:49:00) [1]


> Hapastiks   (18.07.10 17:26) [26]

Больше двух дней. Тут без программиста не обойтись, нанимайте.


Dennis I. Komarov   (2010-07-19 10:05:00) [2]

Во как:

TForm(OpenDialog.Owner).Caption


Германн   (2010-07-18 23:36:00) [3]


> Например, есть у него окно текстового редактора, в заголовке
> которого есть имя файла.

Ага.
> Под шапкой я имел в виду caption программы типа 'Form1'
> или 'Opera'


0x00FF00   (2010-07-18 22:16:00) [4]


> Не все окна несут следы FileName.

А ёгурты не все одинаково полезны, и что? =)
Я просто высказал догадку о том, что хоткл сказать топикстартер.

Например, есть у него окно текстового редактора, в заголовке которого есть имя файла. Выбираем файл → ищем подходящее окно → закрываем. PROFIT!


Leonid Troyanovsky   (2010-07-18 21:54:00) [5]


> 0x00FF00   (18.07.10 21:48) [30]

> H = FindWindow(nil, PChar(OpenDialog1.FileName));

Не все окна несут следы FileName.

--
Regards, LVT.


0x00FF00   (2010-07-18 21:48:00) [6]

О, блин!
Кажется, мне удалось протелепатировать, что имел в виду аффтор!

Нужно в качестве "Шапки" использовать имя файла, полученного после обращения к OpenDialog!

H = FindWindow(nil, PChar(OpenDialog1.FileName));


0x00FF00   (2010-07-18 20:05:00) [7]

Hapastiks, а в чём, собственно, состоит задача?
Откуда пришла необходимость вызова OpenDialog?


Юрий Зотов   (2010-07-18 18:24:00) [8]


> Hapastiks   (18.07.10 17:26) [26]


Если выкинуть вот эту строку:
if OpenDialog.executed=true then
то что изменится?

Ничего не изменится.

Тогда при же чем тут OpenDialog?

Ни при чем. Вам об этом говорят-говорят - а толку ноль, Вы все свое гнете.

Зачем задавать вопросы, если ответов Вы все равно не слушаете?


Германн   (2010-07-18 17:28:00) [9]


> Так как получить заголовок чужого окна, через Opendialog
> чтобы потом его закрыть?

Никак.


Hapastiks   (2010-07-18 17:26:00) [10]

"шапкой"  я назвал именно панель заголовка окна. Так как получить заголовок чужого окна, через Opendialog чтобы потом его закрыть?
Через ету  процедуру

var
H: hWnd;
Second: string;
begin
if OpenDialog.executed=true then
{Получениє "Шапки"}
H = FindWindow (nil, "Шапка");
if H = 0 then exit;
SendMessage (H, WM_CLOSE, 0,0);
end;


Deltas   (2010-07-18 16:59:00) [11]

Это и так понятно, что имеется в виду панель заголовка окна, так как у программы нет никаких заголовков. И то, что имеется в виду скорее всего главное окно, доказывают примеры 'Form1' и т.д.

Кнопка, которую ты видишь на панели задач - это кнопка обычного окна Windows, дескриптор которого хранится в объекте класса TApplication. Окно имеет нулевые размеры и расположено в центре экрана. И свойство Application.Title возвращает именно строку на панели заголовка (title bar) этого "секретного" окна.
P.S. Для любого окна строка в панели заголовка (а также системное меню) совпадает со строкой и меню кнопки на панели задач. И в Delphi они различаются только благодаря этому "секретному" окну. Если не ошибаюсь, начиная с Delphi 2006 это было устранено, т.к. вылезло боком в версиях Windows, начиная с Windows Vista.

Что вообще автор мог иметь в виду под "шапкой"? Судя по "Form1" под "шапкой" подразумевается именно панель заголовка окна, которая у окна класса TApplication просто не видна, т.к. оно имеет нулевые размеры.


Anatoly Podgoretsky   (2010-07-18 16:50:00) [12]

> Демо  (18.07.2010 16:34:23)  [23]

"caption программы"

Вот откуда взялась шапка - Шаптион программы


Демо   (2010-07-18 16:34:00) [13]


> Deltas ©   (18.07.10 15:43) [22]
> И при чем тут всплывающая подсказка?> Hapastiks   (17.07.
> 10 10:44) [9] > Под шапкой я имел в виду caption программы
> типа 'Form1' > или 'Opera'


Обрати внимание на выражение "caption программы".
Здесь где-то про формы слова есть?


Deltas   (2010-07-18 15:43:00) [14]

И при чем тут всплывающая подсказка?

> Hapastiks   (17.07.10 10:44) [9]
> Под шапкой я имел в виду caption программы типа 'Form1'
> или 'Opera'


Демо   (2010-07-18 14:29:00) [15]


> Deltas ©   (18.07.10 14:15) [19]
> > Демо ©   (18.07.10 11:44) [16]> Используй Application.
> Title.Application.MainForm.Caption, если уж на то пошло.
>  Application.Title вернет заголовок "секретного" окна.


Нет, именно Application.Title.
Всплывающий хинт его возвращает в панели задач.


Демо   (2010-07-18 14:27:00) [16]


> Leonid Troyanovsky ©   (18.07.10 11:56) [17]
> > Демо ©   (18.07.10 11:44) [16] > Используй Application.
> Title.И где тут 'Opera'.


Если в опере будет запрошено Application.Title, то опера выдаст именну ту строку, которую показывает всплавающий хинт.
То же самое и со своей программой.


Deltas   (2010-07-18 14:15:00) [17]


> Демо ©   (18.07.10 11:44) [16]
> Используй Application.Title.

Application.MainForm.Caption, если уж на то пошло. Application.Title вернет заголовок "секретного" окна.


Deltas   (2010-07-18 14:11:00) [18]


> Hapastiks   (16.07.10 11:52)  
>
> На одном из форумов я задал этот вопрос, ответа не дали,
>  пришел к вам.
> Собствено вопрос: как получить шапку программы через OpenDialog

С такой постановкой вопроса долго ты еще будешь скитаться по разным форумам. :)


Leonid Troyanovsky   (2010-07-18 11:56:00) [19]


> Демо ©   (18.07.10 11:44) [16]

> Используй Application.Title.

И где тут 'Opera'.

--
Regards, LVT.


Демо   (2010-07-18 11:44:00) [20]


> Hapastiks   (16.07.10 11:52) 
> На одном из форумов я задал этот вопрос, ответа не дали,
>  пришел к вам. Собствено вопрос: как получить шапку программы
> через OpenDialog


TOpenDialog для этого не нужен.
Используй Application.Title.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо