![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
TarasBer |
![]()
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
В общем, меня тоже стал угнетать вид 300-килобайтового екзешника, состоящего из голой формы, поэтому решил и я попробовать себя в более низкоуровневом программировании.
После ковыряний в гугле и долгих блужданий по таинственным и запутаннным лабиринтам VCL я таки родил то, что прикладываю к проекту. Итак, вопросы. 1. Иногда при запуске выдаёт ошибку 201. Конкретно - в процедуре WinAPI.CreateEdit на строчке, меняющей шрифт. 2. Если в системе поставить галочку "отображать содержимое окна при перетаскивании", то редактор очень мерцает при изменениях размера. Отлов сообщения wm_EraseBkgnd помог не полностью - если в поле ввода ввести много текста, то видно, как текст мигает. Заметил, что в Микрософте при написании Блокнота и Пейнта об этом не парились, а вот с ВордПадом - парились. 3. Как сделать полю ввода стандартную рамочку. Впрочем, та, что вышла, мне нравится гораздо больше. 4. Забавный нюанс - если поле ввода с двумя полосами прокрутки подогнать под размер окна, то в правом нижнем углу сам собой появится треугольничек для изменения размера. 5. ShortCut для главного меню. Если подчёркивания через & ловит система, то F2 итд - нет (как я понял из VCL, обрабтка этих кнопок делает сама программа). Однако, непонятно, какое сообщение ловить. Если перевести фокус на поле ввода и нажать F2, то программа не получает вообще никакого сообщения (как видно по содержимому консоли, введённой тут только для изучения сообщений). Также непонятно, что ловить, чтобы узнать, что "файл *** изменён" (чтобы задавать глупые вопросы пользователю). 6. Диалоги открытия/сохранения (чем они вообще отличаются?). У меня с ними вроде всё хорошо, но галочка "только чтение" мне не нравится, лишняя она там. И я пока ничего не проверял по поводу того, сохраняется ли корневой каталог при их использовании. Прикрепленные файлы ![]() -------------------- |
![]() ![]() |
Гость |
![]()
Сообщение
#2
|
Гость ![]() |
1. Вставил в код уничтожение всех созданных окон, программа теперь запускается нормально. Винда разве автоматом не удаляет их при закрытии приложения?
3. У меня через ws_Border получилась только просто линия вокруг. Но смотрится лучше набившей оскомину псевдотрёхмерности. 5. Чтобы всё по-честному. Для общего развития. Я так понял, горячие клавиши только через расстановку ловушек на клавиатуру? en_Change вроде помог, спасибо. 6. Я думал, флаги только для ДОБАВЛЕНИЯ фич, то есть по умолчанию всё пусто. Разница у диалогов в кнопочке, у одного "сохранить", у другого "открыть". И как открыть файл, не трогая главный каталог? Модифицировать диалог сохранения через флаги? |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 1:57 |