::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-07 09:25:28, Hit : 4181, Vote : 1179
 Memo의 입력행수 제한하기

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure Memo1Change(Sender: TObject);
    procedure Memo1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  MAX_LINES = 5; // 최대 입력행수

var
  Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.Memo1Change(Sender: TObject);
var
  i: Integer;
begin
  if Memo1.Lines.Count > MAX_LINES then
  begin
    // 마지막행 다음의 행은 삭제해 버린다
    for i := Memo1.Lines.Count-1 downto MAX_LINES do
      Memo1.Lines.Delete(i);
    // 커서를 마지막행으로 이동
    Memo1.SelStart := SendMessage(Memo1.Handle, EM_LINEINDEX, MAX_LINES-1, 0);
  end;
end;

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    // 마지막 행에서의 CR/LF 입력 금지
    if SendMessage(Memo1.Handle, EM_LINEFROMCHAR, Memo1.SelStart, 0) = MAX_LINES-1 then
      Key := #0;
  end;
end;

end.





171   [시스템] Thread 사용하기  김영대 2003/03/07 4260 1160
170   [일반/컴포넌트] C & Pascal 데이터 타입 비교  김영대 2003/03/05 4259 1138
169   [일반/컴포넌트] ComboBox 를 강제로 드롭시키기  김영대 2003/03/05 4251 1136
168   [윈도우즈 API] 디스크 캐쉬의 파일을 디스크로 쓰기  김영대 2003/03/05 4247 1133
167   [윈도우즈 API] 사용자정의 caption(title) bar 만들기  김영대 2003/03/04 4239 1273
166   [일반/컴포넌트] 표준 TListBox 에 Radio 버튼 올리기  김영대 2004/07/27 4237 1158
165   [일반/컴포넌트] OnActivate 이벤트 내에서 폼 확실히 닫기  김영대 2003/03/07 4237 1089
164   [일반/컴포넌트] 숫자의 근사치 구하기  김영대 2003/03/07 4234 1133
163   [일반/컴포넌트] 주어진 문자열에 잘못된 숫자값이 들어있는지 검사  김영대 2003/03/04 4224 1217
162   [일반/컴포넌트] 레지스트리의 기본 RootKey 바꾸기  김영대 2003/03/05 4222 1278
161   [일반/컴포넌트] TEdit의 OnChange에서 Text 바꾸기  김영대 2003/03/04 4221 1220
160   [윈도우즈 API] 레지스트리 전체 검색하기  김영대 2003/03/07 4219 1141
159   [일반/컴포넌트] 문자열 찾아서(Search) 바꾸기(Replace)  김영대 2003/03/04 4216 1252
158   [일반/컴포넌트] 윈도우즈"시작" 버튼위에 글씨 쓰기  김영대 2004/07/24 4211 1156
157   [윈도우즈 API] 키보드의 Scroll Lock 켜기/끄기  김영대 2003/03/07 4210 1135
156   [시스템] Boot Drive 찾기  김영대 2003/03/04 4207 1245
155   [데이터베이스] 동적으로 SELECT의 GROUP BY 문 만들기  김영대 2003/03/07 4201 946
154   [일반/컴포넌트] Form의 Caption 에서의 Click 알아내기  김영대 2003/04/01 4199 1047
153   [멀티미디어] wave파일 연주  김영대 2003/03/04 4190 1212
152   [일반/컴포넌트] ListBox에서 마우스 이동시 아이템을 힌트로 보여주기  김영대 2003/03/27 4188 1116
151   [일반/컴포넌트] ListBox의 Item을 버튼으로 계속 삭제하기  김영대 2003/03/07 4184 1135
  [일반/컴포넌트] Memo의 입력행수 제한하기  김영대 2003/03/07 4181 1179
149   [시스템] CPU speed 구하기 2  김영대 2003/03/07 4179 1186
148   [일반/컴포넌트] INI 파일이 저장을 안 해?  김영대 2003/03/05 4172 1114
147   [일반/컴포넌트] 연속된 키보드의 키 발생시키기  김영대 2003/03/07 4171 1129
146   [일반/컴포넌트] 커서(캐럿)가 line 위에 있는지 검사하기  김영대 2003/03/07 4170 1103
145   [일반/컴포넌트] Form이 생성되어 있는지 검사하기  김영대 2003/03/05 4169 1215
144   [윈도우즈 API] Menu가 open되어 있는지 검사하기  김영대 2003/03/04 4168 1277
143   [윈도우즈 API] Memo 에 임의의 tab stops 설정하기  김영대 2003/03/04 4165 1331
142   [데이터베이스] 테이블,인덱스 복사하기  김영대 2003/03/07 4164 1426
141   [데이터베이스] dBase 테이블의 삭제된 레코드 보기  김영대 2003/03/07 4161 1120
140   [일반/컴포넌트] Menu의 Item을 동적으로 만들기  김영대 2003/03/05 4140 1111
139   [일반/컴포넌트] wild card(*,?)문자와 일치  김영대 2003/03/04 4140 1133
138   [일반/컴포넌트] 특정한 폴더로 이동한 DOS 창 띄우기  김영대 2003/03/07 4131 1136
137   [데이터베이스] Blob 필드에서 다른 Table의 Blob 필드로 복사를 하려면...  김영대 2003/03/05 4130 1097
136   [일반/컴포넌트] Hint 표시의 속도조절  김영대 2003/03/05 4128 1110
135   [데이터베이스] 데이타베이스 로그인(login) 화면 띄우기  김영대 2003/03/07 4127 1032
134   [일반/컴포넌트] Global exception handler 만들기  김영대 2003/03/05 4126 1102
133   [일반/컴포넌트] 폼의 형태 바꾸기  김영대 2003/03/05 4121 1098
132   [일반/컴포넌트] Unix-format time 을 TDateTime 로 바꾸기  김영대 2003/03/07 4110 1123

[이전 10개] [1].. 21 [22][23][24][25]
 

Copyright 1999-2023 Zeroboard / skin by zero