Вниз
Скачать: CL | DM;

Помогите найти ошибку в коде   Найти похожие ветки 

 
Elz   (2008-09-20 16:03) [0]

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

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 тогда все нормально.


 
{RASkov} ©   (2008-09-20 17:04) [1]

> [0] Elz   (20.09.08 16:03)

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


 
Vlad Oshin ©   (2008-09-22 09:23) [2]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
2-1317972414
ЕД
2011-10-07 11:26
2012.01.15
TcxDBLookUpComboBox в TcxDBVerticalGrid


2-1317823891
SergP
2011-10-05 18:11
2012.01.15
Рекурсивное описание классов.


15-1317413710
TUser
2011-10-01 00:15
2012.01.15
Задача


2-1317911115
vegarulez
2011-10-06 18:25
2012.01.15
Звук при нажатии Enter


15-1317550613
Loginov Dmitry
2011-10-02 14:16
2012.01.15
Indy - работа с электронной почтой




   Наверх