Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2011, 02:35   #1
Кристинка89
Форумчанин
 
Регистрация: 09.02.2011
Сообщений: 163
Вопрос SUP и SUB

Всем приветик! Нашла процедуры вставки верхнего и нижнего индексов, вроде все работает только вот если я нажимаю кнопку верхний индекс и ввожу его потом курсор остается таким же т.е. потом не могу вводить обычным образом текст а только верхние индексы, то же и для нижнего как исправить это? Вот код

Код:
type
   TCharacterFormat = (CFM_Superscript, CFM_Subscript, CFM_Normal);

 procedure RE_SetCharFormat(RichEdit: TRichEdit; CharacterFormat: TCharacterFormat);
 var
   // The CHARFORMAT structure contains information about 
  // character formatting in a rich edit control. 
  Format: TCharFormat;
 begin
   FillChar(Format, SizeOf(Format), 0);
   with Format do
   begin
     cbSize := SizeOf(Format);
     dwMask := CFM_OFFSET;
     // Character offset, in twips, from the baseline. 
    // If the value of this member is positive, 
    // the character is a superscript; 
    // if it is negative, the character is a subscript. 
    case CharacterFormat of
       CFM_Superscript: yOffset := 60;
       CFM_Subscript: yOffset := -60;
       CFM_Normal: yOffset := 0;
     end;
   end;
   // The EM_SETCHARFORMAT message sets character formatting in a rich edit control. 
  // SCF_SELECTION: Applies the formatting to the current selection 
  Richedit.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
 end;

 // Examples: 
// Beispiele: 

// Apply Superscript to the current selection 
// Markierte Zeichen hoch stellen 
procedure TForm1.Button1Click(Sender: TObject);
 begin
   RE_SetCharFormat(RichEdit1, CFM_Superscript);
 end;

 // Apply Subscript to the current selection 
// Markierte Zeichen tief stellen 
procedure TForm1.Button2Click(Sender: TObject);
 begin
   RE_SetCharFormat(RichEdit1, CFM_Subscript);
 end;
Кристинка89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц