怎样在标题栏上作画?
怎样作呢?我想画上自己的内容,还有,有别的控件如 Button 上又怎么画呢?
最好有代码示例。
问题点数:30、回复次数:7Top
1 楼playpcgame(修罗王)回复于 2000-09-21 10:21:00 得分 0
1.响应WM_NCPAINT
2.用GetSystemMetrics 取得标题栏的高度
3.用GetWindowDC取得整个窗口的绘图句柄
4.绘图
5.释放资源
Top
2 楼Q_Q(qiqi)回复于 2000-09-21 15:07:00 得分 0
在 BCB 中怎样响应消息呢?Top
3 楼playpcgame(修罗王)回复于 2000-09-21 15:30:00 得分 0
这可是基本功哦!
在帮助中查messageTop
4 楼Q_Q(qiqi)回复于 2000-09-22 10:22:00 得分 0
全是 E 文!我看不明白!请 playpcgame 指教!!Top
5 楼playpcgame(修罗王)回复于 2000-09-22 11:08:00 得分 20
给你写了这么多的代码,30分可不够哦!
type
TForm1 = class(TForm)
private
{ Private declarations }
procedure WMNCPaint(var msg: TMessage); message WM_NCPAINT;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMNCPaint(var msg: TMessage);
Var dc:HDC;
CaptionHeight:Integer;
begin
CaptionHeight:=GetSystemMetrics(SM_CYCAPTION);
dc:=GetWindowDC(Handle);
//画图
//释放资源
ReleaseDC(Handle,dc);
end;
end.
Top
6 楼SCUM(人渣)回复于 2000-09-22 11:22:00 得分 10
如果是在自己的标题栏上画,那不如改为无标题栏窗口,自己用一个 panel 作标题栏,
想怎么画就怎么画,多方便!Top
7 楼Q_Q(qiqi)回复于 2000-09-24 09:27:00 得分 0
我最终用了scum的方法,因为我用的是bcb,而又看不明白delphi。不过还是感谢 playpcgame 了!
另外,请问scum,窗口改为无标题后,怎样才能让它弹出系统菜单?是不是必须自己画?Top




