Есть возможность добавить в hiasm несколько интересных диалоговых окон.
1. Открыть/Сохранить. Будет больше возможностей, чем у стандартного, например возможность предпросмотра картинки
2. Диалог выбора цвета. Тоже будет больше возможностей.
3. Диалог поиска-замены слов
4. Диалог настроек принтера (хотя такой уже есть, но убдет возможность передачи ему параметров)
5. Диалог О ПРОГРАММЕ. Это стандартный диалог windows, я уже делал такой в IC, самый, наверно, бесполезный
Столкнулся с первой проблемой. Как поместить контролы (PControl) в диалог открыть/сохранить? Наработки см. во вложении. Я уже много вариантов перепробовал, но если контрол создан (напимер, label), то диалог просто не появляется.
Во вложении есть также примеры на delphi (в отдельной папке). Примеры не мои, я пытался в них разобраться, но всё равно не удалось добавить контролы в этот диалог.
И ещё вопрос: механиз поиска/замены нужно реализовывать самому или как-то это делает сам диалог поиска/замены текста?
ВСЕ МОИ ВОПРОСЫ К ЗНАЮЩИМ ЛЮДЯМ.
[size=-2]------ Добавлено в 18:10
вот
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
|
|||
карма: 9 |
| ||
файлы: 1 | pdlg.rar [65.6KB] [457] |
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
3042, ты че, решил пойти путем некоторых наших коллег, которые, в бытность времен, уже такое понаклепали, весь раздел компонентов был этим завален
|
|||
карма: 22 |
|
Ответов: 1926
Рейтинг: 172
|
|||
nesco, что-то я диалогов тамм не видал таких. А разве они не нужны? Не нужен препросмотр картинки, не нужен диалог поиска/замены текста?
В разделе компонентов есть достаточно замечательных компонентов, очень удобных, которыми пользуются многие программисты на HiAsm. Очень жаль, что они не попадают в дистрибутив. Вот мой недавний компонент http://www.hiasm.com/xf/topic.php?t=49899&start=10 неужели не нужен совсем? Никто на HiAsm графические редакторы не пишет? Хорошо, но даже для единичного преобразования картинки может понадобиться какой-то из этих эффектов. Или http://www.hiasm.com/xf/topic.php?t=7032&start=20. В стандартном компоненте невозможно отобразить после скрытия кнопки, а в доработанном - можно. Но компонент так и не попал в дистрибутив. Что, разве эти функции там не нужны? ---------- Хорошо, не нужны вам такие компоненты. Тогда просто ответьте , пожалуйста, на мои вопросы (про контролы), это мне просто интересно. |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
3042 писал(а): механиз поиска/замены нужно реализовывать самомуименно так. Диалог поиска не знает заранее, где как и что будет искаться. |
|||
карма: 27 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Спасибо, Dilma, понятно.
[size=-2]------ Добавлено в 18:51 А с контролами как? |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
с контролами надо смотреть. Но вот то, что PControl нельзя вставить в диалог это факт на 99% (всмысле без глюков работать не будет). Вставлять туда надо чистым WinAPI с перехватом очереди сообщений.
|
|||
карма: 27 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Dilma, в примере на Delphi (т.е. который не мой) всё вроде работает. Функция вызова этого диалога (Execute) требует параметра PControl.
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
ну если на это было расчитано тогда другое дело. По посту выше предположил, что инжектирование производится собственными силами. В общем сейчас глянем...
------------ Дoбавленo: 3042, проблема не работы примера выше заключается в том, что функция показа диалога не может найти ресурс с именем "DLGTEMPLATE". Прикладываю ресурсный файл. Скопировать его в code, а в InlineCode добавить {$R dlg.res} |
|||
карма: 27 |
| ||
файлы: 1 | dlg_resource.rar [180B] [426] |
Ответов: 1926
Рейтинг: 172
|
|||
Спасибо, Dilma, всё заработало!
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
ожидает соответствующих элементов для hiasm
|
|||
карма: 27 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Мдааа... Директива {$R dlg.res} начисто закрывает работу в FPC. Для нормальной работы надо посмотреть, что находится в этом файле ресурса и попытаться инжектировать это в код, муторно, но сделать можно. Я так в линейке стрелки рисовал, вручную, и ничего -- работает.
|
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
зачем смотреть, если я его из исходника и собирал?
|
|||
карма: 27 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Dilma писал(а): если я его из исходника и собирал?Тогда проще, никаких существенных телодвижений делать не надо |
|||
карма: 22 |
|
Ответов: 1926
Рейтинг: 172
|
|||
nesco писал(а): попытаться инжектировать это в кодА Как это сделать? |
|||
карма: 9 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Собрал диалог открытия файла. Сам по себе работает, но есть некоторые вопросы, которые пока не решил, а именно:
1. При изменении фильтра выдаёт неправильный (т.е. не текущий, а из св-ва) индекс фильтра 2. Непонятно, как при изменении папки в диалоге получить её имя (так же, как имя файла, - не получается) А также неясно, что делает флажок "Только для чтоения". Устанавливай его, снимай - в плане открытия ничего не меняется. А если это нужно реализовывать самому, то непонятно, как получить текущее состояние флажка. Так что это не окончательная версия. Надеюсь, знающие люди помогут разобраться. [size=-2]------ Добавлено в 12:01 Вот то же для SdialogEx |
|||
карма: 9 |
| ||
файлы: 2 | ODialogEx_1.rar [14.8KB] [435], SDialogEx_1.rar [14.3KB] [427] |