如何在把标题栏变成竖的?(左边右边都行!)(200分)

  • 主题发起人 主题发起人 rainxy2000
  • 开始时间 开始时间
R

rainxy2000

Unregistered / Unconfirmed
GUEST, unregistred user!
------------------------------
| | ; ; ; ; ; ; ; ; ; ; ; ; ; |
| | ; ; ; ; ; ; ; ; ; ; ; ; ; |
| | ; ; ; ; ; ; ; ; ; ; ; ; ; |
| | ; ; ; ; ; ; ; ; ; ; ; ; ; |
;------------------------------
如图!
 
自己做一个,类似于不规则窗体的做法。参见1stCalss
 
自己写一个标题栏控件。
 
Windows 的API中没有办法控制吗?
 
有一个容易实现的办法:
去掉原有的标题栏,然后放上一个TImage,接着...
API就不清楚了。
 
看過別人做的,好象都是用控件或image!
 
有结果了告诉我
谢谢
 
用image最方便。
 
自画Form!
 
可以呀 把标题栏屏蔽掉
然后用panel或其他的组件 另做一个代替
很简单的
可以给你一个例子[:D]
 
把原有的标题栏去了
用panel代替,并接管标题栏的消息
 
设置FORM属性,变成无边框那种,然后在你想要的地方放一条东西,最后写几个简单的响应,
比如点击、双击、拖动之类的,够用就可以了吧。
 
哪位大富翁有例子妹一个给我吧,一定给分!
rainxy2000@163.net[:D]
 
void __fastcall TForm1::FormPaint(TObject *Sender)
{
RECT rc;
::SetRect(&rc,0,0,ClientWidth,ClientHeight);
DrawButtonFace(Canvas,rc,1);
Canvas->Pen->Color=clGreen;
Canvas->Brush->Color=clGreen;
Canvas->Rectangle(0,0,20,ClientHeight);
:// 以下略去
}

void __fastcall TForm1::OnNcHitTest(TMessage& Msg)
{
TPoint pt;
pt.x=LOWORD(Msg.LParam);
pt.y=HIWORD(Msg.LParam);
pt =ScreenToClient(pt);
RECT rc;
::SetRect(&rc,0,0,20,ClientHeight);
if (PtInRect(&rc,pt))
Msg.Result = HTCAPTION;
; else
DefaultHandler(&Msg);
}
这是一个C++Builder的例子,你稍微改一下就行了。
 
自己搞一个TImage,放在左右,然后接管标题栏的消息和最大、最小化消息。

http://www.delphi3000.com/articles/article_1927.asp
 
例子已发,接收!!!
 
答案已经找到了,随便加一个Panel或其它容器,在Onclick中加入
SendMessage(WM_SYSCommand,$F012,0);就OK了!
不过$F012是Move消息,其它的资料各位有的话就妹一个给我,
我再给他200分!3xs!
 
多人接受答案了。
 
我不明白,

SendMessage(WM_SYSCommand,$F012,0);就OK了!
不过$F012是Move消息

是什么意思?
 
后退
顶部