请教各位:
源程序代码(小画笔)
运行时弹出对话框Debugger Exception Notification
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N11: TMenuItem;
N31: TMenuItem;
N51: TMenuItem;
N101: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
procedure MenuExitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ColorClick(Sender: TObject);
procedure WidthClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormMouseDown(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
procedure FormMouseUp(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
procedure FormMouseMove(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
private
FclColor:TColor;
FnWidth:integer;
bStartDraw:boolean;
ptStart,ptEnd:Tpoint;
rectWork:TRect;
CanvasWork:TCanvas;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.MenuExitClick(Sender: TObject);
begin
Close;
end;procedure TForm1.FormCreate(Sender: TObject);
var
ScreenCanvas:TCanvas;
ScreenBitmap:TBitmap;
dc:HDC;
bmpWork:HBITMAP;
dcWork:HDC;
begin
FnWidth:=1;
FclColor:=clRed;
Sleep(300);
rectWork:=Rect(0,0,Screen.Width,Screen.Height);
ScreenCanvas:=TCanvas.Create;
ScreenBitmap:=TBitmap.Create;
ScreenBitmap.Width:=Screen.Width;
ScreenBitmap.Height:=Screen.Height;
dc:=GetDC(0);
ScreenCanvas.Handle:=dc;
ScreenBitmap.Canvas.CopyRect(Rect(0,0,Screen.Width,Screen.Height),ScreenCanvas,Rect(0,0,Screen.Width,Screen.Height));
dcWork:=CreateCompatibleDC(Canvas.Handle);
bmpwork:=CreateCompatibleBitmap(Canvas.Handle,Screen.Width,Screen.Height);
SelectObject(dcWork,bmpWork);
SelectPalette(dcWork,ScreenBitmap.Palette,false);
CanvasWork.Handle:=dcWork;
CanvasWork.Draw(0,0,ScreenBitmap);
CanvasWork.Pen.Width:=FnWidth;
CanvasWork.Pen.Color:=FclColor;
Realizepalette(CanvasWork.Handle);
Canvas.CopyRect(rectWork,CanvasWork,rectWork);
ReleaseDC(0,dc);
ScreenBitmap.Free;
ScreenCanvas.Free;
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,nil,0);
end;
procedure TForm1.ColorClick(Sender: TObject);
begin
TMenuITem(Sender).Checked:=True;
Case TmenuItem(Sender).Tag of
1001:FclColor:=clRed;
1002:FclColor:=clGreen;
1003:FclColor:=clBlue;
1004:FclColor:=clYellow;
1005:FclColor:=clBlack;
1006:FclColor:=clFuchsia;
end;
CanvasWork.Pen.Color:=FclColor;
end;
procedure TForm1.WidthClick(Sender: TObject);
begin
TMenuItem(Sender).Checked:=true;
Case TmenuItem(Sender).Tag of
1101:FnWidth:=1;
1102:FnWidth:=3;
1103:FnWidth:=5;
1104:FnWidth:=10;
end;
CanvasWork.Pen.Width:=FnWidth;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,nil,0);
CanvasWork.Free;
end;
procedure TForm1.FormMouseDown(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
begin
if Button in [mbLeft] then
begin
bStartDraw:=True;
ptStart.x:=X;
ptStart.Y:=Y;
end;
end;
procedure TForm1.FormMouseUp(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
begin
if Button in [mbLeft] then
bStartDraw:=False;
end;
procedure TForm1.FormMouseMove(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
begin
if bStartDraw=True then
begin
ptEnd.X:=X;
ptEnd.Y:=Y;
Canvas.MoveTo(ptStart.X,ptStart.Y);
Canvas.LineTo(ptEnd.X,ptend.Y);
ptStart:=ptEnd;
Realizepalette(CanvasWork.Handle);
Canvas.CopyRect(rectWork,CanvasWork,rectWork);
end;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Realizepalette(CanvasWork.Handle);
Canvas.CopyRect(rectWork,CanvasWork,rectWork);
end;
end.
源程序代码(小画笔)
运行时弹出对话框Debugger Exception Notification
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N11: TMenuItem;
N31: TMenuItem;
N51: TMenuItem;
N101: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
procedure MenuExitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ColorClick(Sender: TObject);
procedure WidthClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormMouseDown(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
procedure FormMouseUp(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
procedure FormMouseMove(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
private
FclColor:TColor;
FnWidth:integer;
bStartDraw:boolean;
ptStart,ptEnd:Tpoint;
rectWork:TRect;
CanvasWork:TCanvas;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.MenuExitClick(Sender: TObject);
begin
Close;
end;procedure TForm1.FormCreate(Sender: TObject);
var
ScreenCanvas:TCanvas;
ScreenBitmap:TBitmap;
dc:HDC;
bmpWork:HBITMAP;
dcWork:HDC;
begin
FnWidth:=1;
FclColor:=clRed;
Sleep(300);
rectWork:=Rect(0,0,Screen.Width,Screen.Height);
ScreenCanvas:=TCanvas.Create;
ScreenBitmap:=TBitmap.Create;
ScreenBitmap.Width:=Screen.Width;
ScreenBitmap.Height:=Screen.Height;
dc:=GetDC(0);
ScreenCanvas.Handle:=dc;
ScreenBitmap.Canvas.CopyRect(Rect(0,0,Screen.Width,Screen.Height),ScreenCanvas,Rect(0,0,Screen.Width,Screen.Height));
dcWork:=CreateCompatibleDC(Canvas.Handle);
bmpwork:=CreateCompatibleBitmap(Canvas.Handle,Screen.Width,Screen.Height);
SelectObject(dcWork,bmpWork);
SelectPalette(dcWork,ScreenBitmap.Palette,false);
CanvasWork.Handle:=dcWork;
CanvasWork.Draw(0,0,ScreenBitmap);
CanvasWork.Pen.Width:=FnWidth;
CanvasWork.Pen.Color:=FclColor;
Realizepalette(CanvasWork.Handle);
Canvas.CopyRect(rectWork,CanvasWork,rectWork);
ReleaseDC(0,dc);
ScreenBitmap.Free;
ScreenCanvas.Free;
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,nil,0);
end;
procedure TForm1.ColorClick(Sender: TObject);
begin
TMenuITem(Sender).Checked:=True;
Case TmenuItem(Sender).Tag of
1001:FclColor:=clRed;
1002:FclColor:=clGreen;
1003:FclColor:=clBlue;
1004:FclColor:=clYellow;
1005:FclColor:=clBlack;
1006:FclColor:=clFuchsia;
end;
CanvasWork.Pen.Color:=FclColor;
end;
procedure TForm1.WidthClick(Sender: TObject);
begin
TMenuItem(Sender).Checked:=true;
Case TmenuItem(Sender).Tag of
1101:FnWidth:=1;
1102:FnWidth:=3;
1103:FnWidth:=5;
1104:FnWidth:=10;
end;
CanvasWork.Pen.Width:=FnWidth;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,nil,0);
CanvasWork.Free;
end;
procedure TForm1.FormMouseDown(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
begin
if Button in [mbLeft] then
begin
bStartDraw:=True;
ptStart.x:=X;
ptStart.Y:=Y;
end;
end;
procedure TForm1.FormMouseUp(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
begin
if Button in [mbLeft] then
bStartDraw:=False;
end;
procedure TForm1.FormMouseMove(Sender: TObject;Button:TMouseButton;
Shift:TShiftState;X,Y:integer);
begin
if bStartDraw=True then
begin
ptEnd.X:=X;
ptEnd.Y:=Y;
Canvas.MoveTo(ptStart.X,ptStart.Y);
Canvas.LineTo(ptEnd.X,ptend.Y);
ptStart:=ptEnd;
Realizepalette(CanvasWork.Handle);
Canvas.CopyRect(rectWork,CanvasWork,rectWork);
end;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Realizepalette(CanvasWork.Handle);
Canvas.CopyRect(rectWork,CanvasWork,rectWork);
end;
end.
解决方案 »
- ...我要做一个报表 ,应该如如何做
- 关于combobox.selstart的问题
- 请问谁有delphi3,十万火急,谢谢!!!
- TClientSocket 的问题,当没有服务器端时占用很高的cpu,我想要它在没找到服务器的情况下放弃连接
- 使用gifimage单元,如何把已有的图片做成gif动画?
- 在线等,急急急,SHFILEOPSTRUCT为什么不支持长文件名,如何才能支持?
- 怎么样查询得到如下的结果?
- 查询数据库的代码错误,请各位帮忙分析一下!
- 在Delphi中怎么使用ADO的Recordset?我在VB中用它挺好用,最好给个例子
- 关于var 变量,各位大虾请进,必定送分
- 大家都用什么版本的Delphi
- delphi写xml文件的汉字数据到sql数据库中变乱码
Tools->Debugger Options->选Language Exception页->将Stop On Delphi Exception的选项取消
刚学Delphi不久~所以请多多指教呀