Недавно добавленные исходники

•  3D Designer  105

•  Sik Screen Capture  87

•  Patch Maker  76

•  Айболит (remote control)  95

•  ListBox Drag & Drop  73

•  Доска для игры Реверси  1 272

•  Графические эффекты  84

•  Рисование по маске  62

•  Перетаскивание изображений  66

•  Canvas Drawing  68

•  Рисование Луны  143

•  Поворот изображения  50

•  Рисование стержней  44

•  Paint on Shape  41

•  Генератор кроссвордов  53

•  Головоломка Paletto  63

•  Теорема Монжа об окружностях  105

•  Пазл Numbrix  49

•  Заборы и коммивояжеры  74

•  Игра HIP  56

•  Игра Go (Го)  47

•  Симулятор лифта  49

•  Программа укладки плитки  52

•  Генератор лабиринта  92

•  Проверка числового ввода  43

•  HEX View  97

•  Физический маятник  99

•  Задача коммивояжера  126

•  Автомобильная пробка  49

•  Квадратные сетки из слов  43

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Memo со свойствами Row и Col



Тут недавно экзамен сдавал - сочинение, так вот написал значит и сижу, проверяю: в тексте встретил два раза слово сабж ( Сабж, кстате был "Татьяна Ларина"), и один раз ИМХО. после этого минуты две (!) ржал на всю рекреацию, чем удивил преподов

Наследник TMemo со свойствами row & col:


unit C_rcmemo;

interface

uses

  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls;

type

  TRCMemo = class(TMemo)
  private
    { Private declarations }
    function GetRow: Integer;
    procedure SetRow(value: Integer);
    function GetCol: Integer;
    procedure SetCol(value: Integer);
    function GetPosn: LongInt;
    procedure SetPosn(value: LongInt);
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    { Published declarations }
    property Row: Integer read GetRow write SetRow;
    property Col: Integer read GetCol write SetCol;
    property Posn: LongInt read GetPosn write SetPosn;
  end;

procedure Register;

implementation

function TRCMemo.GetRow: Integer;
begin

  Result := Perform(EM_LINEFROMCHAR, $FFFF, 0);
end;

procedure TRCMemo.SetRow(value: Integer);
begin

  SelStart := GetCol + Perform(EM_LINEINDEX, Value, 0);
end;

function TRCMemo.GetCol: Integer;
begin

  Result := SelStart - Perform(EM_LINEINDEX, GetRow, 0);
end;

procedure TRCMemo.SetCol(value: Integer);
begin

  SelStart := Perform(EM_LINEINDEX, GetRow, 0) + Value;
end;

function TRCMemo.GetPosn: LongInt;
var
  ro, co: Integer;
begin

  ro := GetRow;
  co := SelStart - Perform(EM_LINEINDEX, ro, 0);
  Result := MakeLong(co, ro);
end;

procedure TRCMemo.SetPosn(value: LongInt);
begin

  SelStart := Perform(EM_LINEINDEX, HiWord(Value), 0) + LoWord(Value);
end;

procedure Register;
begin

  RegisterComponents('NJR', [TRCMemo]);
end;

end.





Похожие по теме исходники

Memory Manager

Shared Memory

Numbers Memory

xIPMemo

 

Memo Edit Errors Messages

Memory Monitor

Memory Using in System

Simple Memory Seeker

 

Process Memory Map

Color Row

Mini WebBrowser (браузер)

Simple WebBrowser (браузер)

 

Tkp ShBrowseForFolder

Browsers HTTP Log

Move Grid Rows

Four In A Row (Connect Four)

 

Color Lines

Balls Collisions

HLS Color Formats

Tricolor

 

Color Masks

Color Mix

Color Picker

cyColorMatrix

 



Copyright © 2004-2021 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter