前面我有个贴子说下面滚动条滚动时候,字体会变大。 根本就不清楚borland怎么管理资源的。
如果说在scrollbox里面paintbox输出的字体有问题,那么放在form里面就不会出现这种问题。
前面有网友说:“
应该是汉字的关系,把字体设为宋体就不会变大了.
PaintBox1.Canvas.Font.Name := '宋体'; ”是个解决办法,但是是什么原因,却没有人能答复。
把paintbox放到form里面就不需要,设置中文字体也会正常,有人知道什么原因么unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
PaintBox1: TPaintBox;
procedure FormCreate(Sender: TObject);
procedure PaintBox1Paint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
ScrollBox1.VertScrollBar.Range := 1000;
ScrollBox1.Height := 241;
end;procedure TForm1.PaintBox1Paint(Sender: TObject);
var
I : Integer;
begin
for i := 0 to 99 do
begin
PaintBox1.Canvas.Font.Size := 12;
PaintBox1.Canvas.TextOut(10, i * 18, '´óС');
end;
end;end.
如果说在scrollbox里面paintbox输出的字体有问题,那么放在form里面就不会出现这种问题。
前面有网友说:“
应该是汉字的关系,把字体设为宋体就不会变大了.
PaintBox1.Canvas.Font.Name := '宋体'; ”是个解决办法,但是是什么原因,却没有人能答复。
把paintbox放到form里面就不需要,设置中文字体也会正常,有人知道什么原因么unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
PaintBox1: TPaintBox;
procedure FormCreate(Sender: TObject);
procedure PaintBox1Paint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
ScrollBox1.VertScrollBar.Range := 1000;
ScrollBox1.Height := 241;
end;procedure TForm1.PaintBox1Paint(Sender: TObject);
var
I : Integer;
begin
for i := 0 to 99 do
begin
PaintBox1.Canvas.Font.Size := 12;
PaintBox1.Canvas.TextOut(10, i * 18, '´óС');
end;
end;end.
解决方案 »
- 如何复制一个panel上的所有控件?
- 有人懂tsp(telephone service provider)么??我现在想做一个这方面的开发,如果有人想做项目,可以联系我,价钱好商量
- 建议版主过来封dBASEIII的ID,让大家看清个人的丑恶的嘴脸
- 刚接了一个Delphi项目,2个月内要求搞定,以前未接触过Delphi,特来请教前辈几个紧急的问题!!!
- 三层结构的一些提问,答者有分.
- 发现一个电影下载基地,好久没提问了,顺便散散分02
- ADO访问DBF的问题?
- 如何确定注册表中uninstall键下一个子键的键值是有效的卸载?
- 各位推荐一下好的DELPHI站点好吗?
- 如何将作一个放在windows托盘的程序
- 瑞友天翼 那位大哥用过 觉得怎么样?
- 记录类型 无法赋值
PaintBox1.Canvas.TextOut(10, i * 18, '这里面应该是汉字');
var
Message: TMessage;
begin
Message.Msg := WM_PAINT;
Message.WParam := DC;
Message.LParam := 0;
Message.Result := 0;
DefaultHandler(Message);
end;
我用D6,D7测试都用这样问题,至于D2005, 2006,我没测试,因为启动太慢我没有安装,SCROLLBOX的VCL代码我看了,并且我跟踪了字体,paint等代码都没看出哪出问题了,还有字体资源分配,没发现问题,你说的对高版本的SCROLLBOX增加了procedure PaintWindow(DC: HDC); override; 应该问题就出现在这里,好的我看看2006的吧,我手里没有2007.谢谢,结贴
{ TScrollBox } TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow,
bsSizeToolWin);
TBorderStyle = bsNone..bsSingle; TScrollBox = class(TScrollingWinControl)
private
FBorderStyle: TBorderStyle;
procedure SetBorderStyle(Value: TBorderStyle);
procedure WMNCHitTest(var Message: TMessage); message WM_NCHITTEST;
procedure CMCtl3DChanged(var Message: TMessage); message CM_CTL3DCHANGED;
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure PaintWindow(DC: HDC); override;
public
constructor Create(AOwner: TComponent); override;
published
property Align;
property Anchors;
property AutoScroll default True;
property AutoSize;
property BevelEdges;
property BevelInner;
property BevelOuter;
property BevelKind;
property BevelWidth;
property BiDiMode;
property BorderStyle: TBorderStyle read FBorderStyle write SetBorderStyle default bsSingle;
property Constraints;
property DockSite;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Color nodefault;
property Ctl3D;
property Font;
property Padding;
property ParentBiDiMode;
property ParentBackground default False;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnCanResize;
property OnClick;
property OnConstrainedResize;
property OnContextPopup;
property OnDblClick;
property OnDockDrop;
property OnDockOver;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnGetSiteInfo;
property OnMouseActivate;
property OnMouseDown;
property OnMouseEnter;
property OnMouseLeave;
property OnMouseMove;
property OnMouseUp;
property OnMouseWheel;
property OnMouseWheelDown;
property OnMouseWheelUp;
property OnResize;
property OnStartDock;
property OnStartDrag;
property OnUnDock;
end;