Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Как создать каретку свой собственной формы?

Поиск:
Код

{  
 The example below demonstrates creating custom caret:  
}  

unit Unit1;  

interface  

uses  
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  
 ExtCtrls, StdCtrls;  

type  
 TForm1 = class(TForm)  
   Memo1: TMemo;  
   Image1: TImage;  
   Edit1: TEdit;  
   procedure Memo1MouseDown(Sender: TObject; Button: TMouseButton;  
     Shift: TShiftState; X, Y: Integer);  
   procedure Edit1MouseDown(Sender: TObject; Button: TMouseButton;  
     Shift: TShiftState; X, Y: Integer);  
 private  
   { Private declarations }  
 public  
   { Public declarations }  
 end;  

var  
 Form1: TForm1;  

implementation  

{$R *.DFM}  

procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;  
 Shift: TShiftState; X, Y: Integer);  
begin  
 CreateCaret(Memo1.Handle, Image1.Picture.Bitmap.Handle, 0, 0);  
 ShowCaret(Memo1.Handle);  
end;  

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;  
 Shift: TShiftState; X, Y: Integer);  
begin  
 CreateCaret(Edit1.Handle, 0, 10, 4);  
 ShowCaret(Edit1.Handle);  
end;  

end.  


{The form file source (*.dfm) }  

object Form1: TForm1  
 Left = 192  
 Top = 107  
 Width = 544  
 Height = 375  
 Caption = 'Form1'  
 Color = clBtnFace  
 Font.Charset = DEFAULT_CHARSET  
 Font.Color = clWindowText  
 Font.Height = -11  
 Font.Name = 'MS Sans Serif'  
 Font.Style = []  
 OldCreateOrder = False  
 PixelsPerInch = 96  
 TextHeight = 13  
 object Image1: TImage  
   Left = 12  
   Top = 4  
   Width = 16  
   Height = 16  
   AutoSize = True  
   Picture.Data = {  
     07544269746D6170B6020000424DB602000000000000B6000000280000001000  
     0000100000000100100000000000000200000000000000000000100000000000  
     000000000000000080000080000000808000800000008000800080800000C0C0  
     C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF  
     FF00000000000000000000000000000000000000000000000000000000000000  
     0000000000000000000000000000000000000000000000000000000000000000  
     000000000000FF7FFF7FFF7FFF7F000000000000FF7FFF7FFF7FFF7FFF7FFF7F  
     00000000FF7FFF7FFF7FFF7F000000000000FF7FFF7FFF7FFF7FFF7FFF7F0000  
     0000FF7FFF7FFF7FFF7FFF7F00000000FF7FFF7FFF7FFF7FFF7FFF7FFF7F0000  
     000000000000FF7FFF7FFF7F0000000000000000FF7FFF7FFF7FFF7F00000000  
     0000000000000000FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F00000000  
     0000000000000000FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F000000000000  
     0000000000000000FF7FFF7FFF7F00000000FF7FFF7FFF7FFF7F000000000000  
     00000000000000000000FF7FFF7FFF7FFF7FFF7FFF7FFF7F0000000000000000  
     00000000000000000000FF7FFF7FFF7FFF7FFF7FFF7FFF7F0000000000000000  
     000000000000000000000000FF7FFF7FFF7FFF7FFF7FFF7F0000000000000000  
     000000000000000000000000FF7FFF7FFF7FFF7FFF7F00000000000000000000  
     0000000000000000000000000000FF7FFF7FFF7FFF7F00000000000000000000  
     0000000000000000000000000000FF7FFF7FFF7F000000000000000000000000  
     00000000000000000000000000000000FF7F0000000000000000000000000000  
     0000}  
 end  
 object Memo1: TMemo  
   Left = 12  
   Top = 36  
   Width = 149  
   Height = 149  
   Lines.Strings = ('Memo1')  
   TabOrder = 0  
   OnMouseDown = Memo1MouseDown  
 end  
 object Edit1: TEdit  
   Left = 220  
   Top = 60  
   Width = 121  
   Height = 21  
   TabOrder = 1  
   Text = 'Edit1'  
   OnMouseDown = Edit1MouseDown  
 end  
end
Автор: swissdelphicenter
Сайт: http://www.swissdelphicenter.ch/en/tipsindex.php






Просмотров: 1720

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную