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

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

заменить текст чекбокса в OpenDialog


--= Eagle =-- ©   (2006-11-22 12:06:00) 

Доброго времени суток!
Вобщем, нужно мне добавить в OpenDialog свой чекбокс, и решил я для этого заюзать стандартный чекбоск "Только чтение" (убрать в Options флаг HideReadOnly). Всё бы хорошо, я уже и подцепился на ивент OnShow и решил найти чекбокс по его классу, но... вобщем, там класс "Button", такой же, как и у кнопок... Искать по тексту я не решился, т.к. в другой винде оно может и не найтись (по причене другого языка). Как же его тогда переименовать?


--= Eagle =--   (2006-11-22 14:41:00) [1]


> Тогда SetParentом вклей свой контрол - глюков не будет

Боюсь, это будет геморрно - мне нужно будет посдвигать контролы и освободить место под свой чекбокс...


Elen   (2006-11-22 12:41:00) [2]


> --= Eagle =--

Тогда SetParentом вклей свой контрол - глюков не будет


clickmaker   (2006-11-22 12:40:00) [3]


> Скажи мне, как его найти

FindWindowEx
а в принципе, можно свой сочинить, используя template. Стандартные виндозные диалоги это допускают. За основу можно взять, например, OpenPictureDialog с превьюхой


--= Eagle =--   (2006-11-22 12:34:00) [4]


> SetWindowText

clickmaker, ага, смешно... Скажи мне, как его найти, а установить ему новый текст я и сам смогу.

> IMHO лучше написать свой опенДиалог. Иначе можно на форме
> нарисовать чекбокс а потом переклеить его в окно опендиалога
> функцией SetParent.

Да я тоже об этом думал, но вот захотелось изгольнуться...

> Используй EnumChildWindow и запомни номер по порядку того
> чекбокса, который хочеш ловить, но все равно эта идея не
> лучшая...

Тоже так думаю - это будет слишком привязано к винде - при добавлении  нового контрола оно может начать глючить...


Elen   (2006-11-22 12:26:00) [5]


> нужно мне добавить в OpenDialog свой чекбокс

IMHO лучше написать свой опенДиалог. Иначе можно на форме нарисовать чекбокс а потом переклеить его в окно опендиалога функцией SetParent.


> Искать по тексту я не решился

Используй EnumChildWindow и запомни номер по порядку того чекбокса, который хочеш ловить, но все равно эта идея не лучшая...


clickmaker   (2006-11-22 12:09:00) [6]


> Как же его тогда переименовать?

SetWindowText


Наверх

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