Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 333
от 20.05.2004, 08:20

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1545
Отправлено ответов: 3563
Активность: 230.6 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Pawel
Статус: Профессиональный
Общий рейтинг: 155.5
[Подробней >>]
CrackLab
Статус: Доверительный
Общий рейтинг: 157.77
[Подробней >>]
Boriss
Статус: Профессиональный
Общий рейтинг: 162
URL: Программирование на Паскале
[Подробней >>]
 
samum2000
Статус: Профессиональный
Общий рейтинг: 130
[Подробней >>]
CJ
Статус: Опытный
Общий рейтинг: 123.4
URL: Персональный сайт Каратецкого Кирилла.
Телефон: +375297353706
[Подробней >>]
sir henry
Статус: Профессиональный
Общий рейтинг: 161.57
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1537. Уважаеиые Эксперты 1.Подскажите как убрать из RichEdit курсор(не мышь), нужно для того чтобы польз... (ответов: 3)
Вопрос № 1538. К вопросу 1529.. Unicode 2 vitya: Подскажите пожалуйста как это сделать ... 2 Boriss: Мне надо, что... (ответов: 1)
Вопрос № 1539. Ув. эксперты, скажите, пожалуйста, как печатать на принтере. Я делаю так (см. приложение). На матрич... (ответов: 4)

Вопросов: 3, ответов: 8


 Вопрос № 1537

Уважаеиые Эксперты
1.Подскажите как убрать из RichEdit курсор(не мышь), нужно для того чтобы
пользователь не смог его переставить,а уж перевод строки я в ручную делаю.
2.Что это за св-ва DragCursor ,DragMode,Dragkind



Вопрос отправлен: 15.05.2004, 16:07
Отправитель: DOOM

[Следующий вопрос >>] [Список вопросов]

Отвечает Pawel

Приветствую Вас, 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 меню и кнопочек, диалоговые окна и др. управляющие элементы.

Надеюсь теперь вопрос понятен некоторым личностям?


Приложение:


Вопрос отправлен: 16.05.2004, 14:29
Отправитель: Gerand

[Следующий вопрос >>] [Список вопросов]

Отвечает Boriss

Добрый день, Gerand!
Ну вот Вы встаете в позу, но сами посудите, что Вы написали "Если в английской версии XP запустить notepad из русского дистрибутиа, то все отображается на великом и могучем, но если запустить программу написанную на Delphi, в которой есть русские символы, то они отображаются некорректно". То есть, "программа написанная на Delphi" - из какого "дистрибутиа"?
Обычно такие проблемы рещают на уровне ресурсов. Есть много статей на эту тему. Если не знаете, где взять, напишите, но без лишних эмоций на surin_bp@mail.ru
И если б был Ваш адрес, возможно, быстрее поняли бы друг друга и решили проблему :))

Ответ отправлен: 19.05.2004, 13:05
Отправитель: Boriss


 Вопрос № 1539

Ув. эксперты, скажите, пожалуйста, как печатать на принтере. Я делаю так (см. приложение). На матричном принтере печатается нормально, а вот на лазерном все очень мелко... Не подскажите, как исправить эту проблемму?


Приложение:


Вопрос отправлен: 17.05.2004, 08:19
Отправитель: UKY

[Следующий вопрос >>] [Список вопросов]

Отвечает samum2000


Здравствуйте, 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.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (24)
C / C++ (14)
Perl (2)
Builder / Delphi (15)
Pascal (18)
Basic / VBA (2)
Java / JavaScript (3)
PHP (11)
Криптография (5)
WinAPI (7)
Радиоэлектроника (5)
Пользователю
Windows 95/98/Me (35)
Windows NT/2000/XP (49)
"Железо" (28)
Поиск информации (15)
Администратору
Windows NT/2000/XP (24)
Linux / Unix (8)
Юристу
Гражданское право (9)
Семейное право (7)
Трудовое право (8)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное