이 문제좀 해결해 주세요.
왜, 에러가 나는지 모르겠습니다.
아래 소스 부분에서 이부분(clipboard)이 에러가 납니다.
이유가 무엇인지 그리고
Clipboard.HasFormat(CF_TEXT) = True
이부분에 대해서 해석좀 부탁드립니다.
CF_TEXT 가 뭔지도 같이....
Procedure TForm1.Info_clip;
begin
If Clipboard.HasFormat(CF_TEXT) = True then ---- 에러부분
begin
Cut1.Enabled := False;
ToolButton7.Enabled := False;
Copy1.Enabled := False;
ToolButton8.Enabled := False;
Paste1.Enabled := True;
ToolButton9.Enabled := True;
end;
else
begin
Cut1.Enabled := False;
ToolButton7.Enabled := False;
Copy1.Enabled := False;
ToolButton8.Enabled := False;
Paste1.Enabled := False;
ToolButton9.Enabled := False;
end;
end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, ToolWin, ImgList, StdCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
ImageList1: TImageList;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
File1: TMenuItem;
New1: TMenuItem;
Open1: TMenuItem;
Save1: TMenuItem;
Saveas1: TMenuItem;
N1: TMenuItem;
Print1: TMenuItem;
N2: TMenuItem;
Quit1: TMenuItem;
Edit1: TMenuItem;
Cut1: TMenuItem;
Copy1: TMenuItem;
Paste1: TMenuItem;
N3: TMenuItem;
Find1: TMenuItem;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
PrintDialog1: TPrintDialog;
FindDialog1: TFindDialog;
procedure Quit1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
My_Start : Integer;
Procedure Info_clip;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
Procedure TForm1.Info_clip;
begin
If Clipboard.HasFormat(CF_TEXT) = True then
begin
Cut1.Enabled := False;
ToolButton7.Enabled := False;
Copy1.Enabled := False;
ToolButton8.Enabled := False;
Paste1.Enabled := True;
ToolButton9.Enabled := True;
end;
else
begin
Cut1.Enabled := False;
ToolButton7.Enabled := False;
Copy1.Enabled := False;
ToolButton8.Enabled := False;
Paste1.Enabled := False;
ToolButton9.Enabled := False;
end;
end;
procedure TForm1.Quit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Info_clip;
My_start := 0;
RichEdit1.Lines.Text := '';
StatusBar1.Panels[1].Text := 'noname01.rtf';
end;
end.
제 생각에는 위에 uses 절에
ClipBrd 라는 걸 쓰지 않아서 에러가 난 것 같습니다...
Clipboard라는걸 쓰려면 ClipBrd를 써주셔야 하구요...
Clipboard.HasFormat(CF_TEXT) 이라는 얘기는...
현재 클립보드에 문자가 들어있는지 확인하라는 얘깁니다...
문자가 아닌 비트맵 그림이 들어있는지 확인하려면...
CF_BITMAP을 써주시면 되구요...
이런게 필요한 이유는...
클립보드에 그림이 들어있는데 에디터 같은 글자만 입력받는 곳에서...
붙여넣기를 하면 문제가 생길 수 있기 때문에...
그런 가능성을 없애기 위해 미리 클립보드에 어떤 내용이 있는지...
검사해보는 겁니다...