procedure TForm1.FormCreate(Sender: TObject);
var
vRGN: HRGN;
begin
vRGN := CreateEllipticRgn(0, 0, Width, Height);
SetWindowRgn(Handle, vRGN, True);
DeleteObject(vRGN);
end;
var
vRGN: HRGN;
begin
vRGN := CreateEllipticRgn(0, 0, Width, Height);
SetWindowRgn(Handle, vRGN, True);
DeleteObject(vRGN);
end;
解决方案 »
- 关于erp中上月估价,本月红冲再结算的思路
- UniQuery 排序问题
- 英巴卡迪诺公司(Delphi现在的所有者)北京办事处发来的法务公函
- 我想用mediaplay1控件录麦克风,怎样实现。
- ##########急急急###########
- 如何将一个控件保存到文件
- 如果你想玩五子棋游戏,你希望它是什么样子的??(高分哦!!)
- 救急---***我在RICHEDIT控件里输入的中文怎么除了第一个字外都是乱码?***
- 我要将少量数据保存在注册表里,不知应该保存在哪个分支底下合适——我对注册表不熟。
- 关于memo的问题?(抢分啦!)
- 用DELPHI怎样使窗口变成一个不规则的形状?
- 程序在另一台机子上为何不能运行?
一个个的播放就可以了嘻嘻嘻个人观点仅供参考嘻嘻嘻嘻
一个个的播放就可以了嘻嘻嘻个人观点仅供参考嘻嘻嘻嘻
SetWindowRgn(Handle, vRGN, True); //设置窗体的区域
DeleteObject(vRGN); //释放资源(* from help
Following are the functions used with regions. CombineRgn
CreateEllipticRgn
CreateEllipticRgnIndirect
CreatePolygonRgn
CreatePolyPolygonRgn
CreateRectRgn
CreateRectRgnIndirect
CreateRoundRectRgn
EqualRgn
ExtCreateRegion
FillRgn
FrameRgn
GetPolyFillMode
GetRegionData
GetRgnBox
InvertRgn
OffsetRgn
PaintRgn
PtInRegion
RectInRegion
SetPolyFillMode
*)参考研究这些函数,你可以画出任意形状的窗体
有劳了
var
vRGN: HRGN;
begin
BeginPath(Canvas.Handle);
SetBkMode(Canvas.Handle, TRANSPARENT);
Canvas.Font.Name := '宋体';
Canvas.Font.Size := 100;
Canvas.TextOut(20, 20, '星 ☆ 星');
EndPath(Canvas.Handle);
vRGN := PathToRegion(Canvas.Handle);
SetWindowRgn(Handle, vRGN, True);
DeleteObject(vRGN);
end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then Exit;
ReleaseCapture;
Perform(WM_SYSCOMMAND, SC_MOVE + 1, 0);
end;
procedure TPortForm.FormCreate(Sender: Tobject);
var hr :thandle;
begin
hr:=createroundrectrgn(0,0,width,height,20,20);//定义园角矩形(win API函数)
setwindowrgn(handle,hr,true); //设置园角窗口
end;
为了使该窗口更好,应在onResize事件处理程序放相同的代码。
/////////////////////////////////////
用汉字做窗体形状
procedure TForm1.FormCreate(Sender: TObject);
var
rgn:HRGN;
begin
BeginPath(Canvas.Handle);
SetBkMode( Canvas.Handle, TRANSPARENT );
Canvas.Font.Name:= '宋体';
Canvas.Font.Size:=100;
Canvas.TextOut( 20, 20, '漂亮吗?');//用"漂亮吗?"作为form的形状
EndPath(Canvas.Handle);
rgn:= PathToRegion(Canvas.Handle);
SetWindowRgn( Handle, rgn, true );
end;
只可惜是 ActiveX 版的。
:(
var
t:string;
rgn:HRGN;
begin
BeginPath(Canvas.Handle); SetBkMode( Canvas.Handle, TRANSPARENT );// Canvas.Font.Name:= fontname;
canvas.Font.Name:=fonttest.Name;
Canvas.Font.Size:=fontsize;
canvas.Font.Style:=fontstyle;
t:=timetostr(now());
Canvas.TextOut( 0, 20, t); //?"????"??form??? EndPath(Canvas.Handle); rgn:= PathToRegion(Canvas.Handle); SetWindowRgn( Handle, rgn, true );
end;