Уважаеиые Эксперты 1.Подскажите как убрать из RichEdit курсор(не мышь), нужно для того чтобы пользователь не смог его переставить,а уж перевод строки я в ручную делаю. 2.Что это за св-ва DragCursor ,DragMode,Dragkind
Приветствую Вас, DOOM! Только переписать компонент, или создать свой. Ответ отправлен: 16.05.2004, 14:25 Отправитель: Pawel Отвечает CrackLab
Доброе время суток, DOOM! 1. Убрать каретку с RichEdit'а не так легко. Конечно это можно сделать, но это геморойно. Я вижу тут два способа: а) Постоянно скрывать каретку с помощью WinAPI-функции HideCaret(RichEdit1->Handle). Эту API придется вызывать постоянно, при активизации RichEdit'а, при печатании текста и т.д. где еще нужно, но из-за скрывании каретки при быстром печатании RichEdit начинает немного моргать. Потому что то ли сам компонент RichEdit так устроен, что ПОСТОЯННО вызывается функция CreateCaret, которая сначала удаляет старую каретку, потом создает новую, а затем еще вызывается функция ShowCaret - маразм короче... б) Брать исходники RichEdit'а и делать на его основе свой компонент. 2. Тут нужно брать словарик, и вызывать помощь. Там все написано. - DragCursor - курсор мыши, который будет показываться при перетаскивании компонента (нужно
оставить crDrag) - DragKind - тип перетаскивания (если хочешь чтобы компонент можно было перетащить в другое место или на другую панель - нужно поставить dkDock) - DragMode - режим включения механизма перетаскивания. (Если хочешь чтобы компонент можно было просто перетаскивать куда угодно и без лишних приготовлений нужно ставить dmAutomatic) Ну и раз уж зашел разговор о перетаскиваниях, то для работы механизма перетаскивания, у компонента, который будет принимать перетаскиваемые объекты нужно выставить свойство DockSite = true; Ответ отправлен: 15.05.2004, 17:32 Отправитель: CrackLab Отвечает Boriss
Приветствую Вас, DOOM! 1) Самое надежное - запретить редактирование (ReadOnly:=True). 2) Эти свойства используются при перетаскивания текста в редактор. Есть уже много статей на эту тему. DragCursor - вид курсора при перетаскивании; DragMode - определяет поведение при перетаскивании: dmAutomatic - КОМПОНЕНТ ГОТОВ К ПЕРЕТАСКИВАНИЮ. Ничего от программиста не требуется. Достаточно НА НЕМ щелкнуть и его перетаскивать (Но RichEdit - куда?) dmManual - ничего не произойдет, пока не будет вызван метод BeginDrag; DragKind - определяет, будет ли компонент перетаскиваться обычным сопособ по технологии Drag&Drop - при значении dkDrag, или будет перетаскиваться только для встраивания dkDoc. Ответ отправлен: 17.05.2004, 08:28 Отправитель: Boriss
Вопрос № 1538
К вопросу 1529.. Unicode 2 vitya: Подскажите пожалуйста как это сделать ...
2 Boriss: Мне надо, чтобы не только в на моей системе, но и на других системах с разными языками, с поддержкой Unicode, интерфейс программы был на русском. Это не сам текст, а caption меню и кнопочек, диалоговые окна и др. управляющие элементы.
Надеюсь теперь вопрос понятен некоторым личностям?
Добрый день, Gerand! Ну вот Вы встаете в позу, но сами посудите, что Вы написали "Если в английской версии XP запустить notepad из русского дистрибутиа, то все отображается на великом и могучем, но если запустить программу написанную на Delphi, в которой есть русские символы, то они отображаются некорректно". То есть, "программа написанная на Delphi" - из какого "дистрибутиа"? Обычно такие проблемы рещают на уровне ресурсов. Есть много статей на эту тему. Если не знаете, где взять, напишите, но без лишних эмоций на surin_bp@mail.ru И если б был Ваш адрес, возможно, быстрее поняли бы друг друга и решили проблему :)) Ответ отправлен: 19.05.2004, 13:05 Отправитель: Boriss
Вопрос № 1539
Ув. эксперты, скажите, пожалуйста, как печатать на принтере. Я делаю так (см. приложение). На матричном принтере печатается нормально, а вот на лазерном все очень мелко... Не подскажите, как исправить эту проблемму?
Здравствуйте, UKY! Все правильно, ведь разрешение монитора приблизительно 72-96 точек на дюйм, а в лазерном принтере не меньше 300. Вот стандартное решение этой проблемы (описано, кажется, во всех учебниках). uses Printers; ... begin Printer.BeginDoc; Printer.Canvas.Font.Name := 'Courier New'; Printer.Canvas.Font.Style := [fsBold]; Printer.Canvas.Font.PixelsPerInch:= GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSY); Printer.Canvas.Textout(10, 10, 'Печатаем этот текст'); Printer.EndDoc; end; -------------------------- -=Experts helper: testmode=- Ответ отправлен: 19.05.2004, 13:17 Отправитель: samum2000 Отвечает CJ
Здравствуйте, UKY! Попробуй изменить атрибуты печатаемого текста. Увеличить размер и т.д. Ответ отправлен: 18.05.2004, 17:31 Отправитель: CJ Отвечает Boriss
Здравствуйте, UKY! Наверно, лучше всего поступить стандартно - поместить TPrinterSetupDialog или, лучше, TPrintDialog. И там выбирать, если принтер позволяет это делать Ответ отправлен: 18.05.2004, 13:20 Отправитель: Boriss Отвечает sir henry
Добрый день, UKY!
Ответ отправлен: 18.05.2004, 04:24 Отправитель: sir henry
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.