Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите найти ошибку в коде [D7]


Elz ©   (2008-09-20 16:03:00) 

Помогите найти ошибку:

procedure TForm1.DBMemo1KeyPress(Sender: TObject; var Key: Char);
var
cRect: TRect;
bm: TBitmap;
begin

if dbmemo1.CaretPos.Y=15 then - если курсор будет на 15 строчке

begin
Windows.GetClientRect(Memo1.Handle, cRect);
bm := TBitmap.Create;
bm.Width := cRect.Right;
bm.Height := cRect.Bottom;
bm.Canvas.Font := Memo1.Font;
if bm.Canvas.TextWidth(memo1.Text + Key) > CRect.Right-1 then
Key := #0;
end;
bm.free;
end;
end;

я хочу сделать ограничение ввода текста на 15 строчке, но одна буква всеравно залазить на слелующую; а если убрать if dbmemo1.CaretPos.Y=15 then тогда все нормально.


Vlad Oshin   (2008-09-22 09:23:00) [1]

procedure TForm1.DBMemo1KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 if dbmemo1.Lines.Count>14 then
 begin
   Key:=0;
   exit;
 end;
end;


{RASkov}   (2008-09-20 17:04:00) [2]

> [0] Elz   (20.09.08 16:03)

Во первых: форматирование.... нифика ничего не понятно, так как не видно кода... И один end лишний вроде...
Во вторых: все равно ничего не понятно :) Какое ограничение хочешь сделать и при чем тут Битмап?


Наверх

Титульная страница Поиск, карта сайта Написать письмо