Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Changing RichEdit Font styles with HotKey combinations


How can I change the RichEdit font style in response to a dedicated keystroke combination?   

    The following example demonstrates changing the font style in a TRichEdit component the following key combinations are pressed: Ctrl + B - Turns on and off Bold styling Ctrl + I - Turns on and off Italic styling Ctrl + S - Turns on and off Strikeout styling Ctrl + U - Turns on and off Underline styling Note: It is possible to set the font to include multiple styles.

    Example:
    const
      KEY_CTRL_B = 02;
      KEY_CTRL_I =  9;
      KEY_CTRL_S =  9;
      KEY_CTRL_U = 2 ;
    procedure TForm .RichEdit KeyPress(Sender: TObject; var Key: Char);
    begin
      case Ord(Key) of
        KEY_CTRL_B: begin
          Key := #0;
          if fsBold in (Sender as TRichEdit).SelAttributes.Style then
          (Sender as TRichEdit).SelAttributes.Style :=
            (Sender as TRichEdit).SelAttributes.Style - [fsBold] else
          (Sender as TRichEdit).SelAttributes.Style :=
            (Sender as TRichEdit).SelAttributes.Style + [fsBold];
        end;
        KEY_CTRL_I: begin
          Key := #0;
          if fsItalic in 
          (Sender as TRichEdit).SelAttributes.Style then
            (Sender as TRichEdit).SelAttributes.Style :=
            (Sender as TRichEdit).SelAttributes.Style - [fsItalic] 
          else
           (Sender as TRichEdit).SelAttributes.Style :=
           (Sender as TRichEdit).SelAttributes.Style + [fsItalic];
        end;
        KEY_CTRL_S: begin
           Key := #0;
          if fsStrikeout in 
          (Sender as TRichEdit).SelAttributes.Style then
            (Sender as TRichEdit).SelAttributes.Style :=
            (Sender as TRichEdit).SelAttributes.Style - [fsStrikeout] 
          else
            (Sender as TRichEdit).SelAttributes.Style :=
            (Sender as TRichEdit).SelAttributes.Style + [fsStrikeout];
        end;
        KEY_CTRL_U: begin
           Key := #0;
          if fsUnderline in 
          (Sender as TRichEdit).SelAttributes.Style then
            (Sender as TRichEdit).SelAttributes.Style :=
            (Sender as TRichEdit).SelAttributes.Style - [fsUnderline] 
          else
            (Sender as TRichEdit).SelAttributes.Style :=
            (Sender as TRichEdit).SelAttributes.Style + [fsUnderline];
        end;
      end;
    end;
    

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use