社区
VCL组件使用和开发
帖子详情
给一个自画标题栏的思路
hzhxxx
2003-02-17 09:17:08
同上!
给一个自画标题栏的思路
...全文
65
4
打赏
收藏
给一个自画标题栏的思路
同上! 给一个自画标题栏的思路
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kingcaiyao
2003-02-17
打赏
举报
回复
修改字体颜色:
::SetTextColor(Canvas->Handle,RGB(255,255,255));
修改背景色:
::SetBkColor(Canvas->Handle,RGB(255,0,0));
hzhxxx
2003-02-17
打赏
举报
回复
颜色修改怎么样啊?
hzhxxx
2003-02-17
打赏
举报
回复
不错。
痞子酷
2003-02-17
打赏
举报
回复
这是从网上copy过来的例子 ,你看看先
标题: 自画标题栏的一个例子
关键字:自画标题栏,WndProc,Canvas,Rect,CreateFontIndirect
.h File
//---------------------------------------------------------------------------
#ifndef wmncH
#define wmncH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TBitBtn *BitBtn1;
void __fastcall FormPaint(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
private:void __fastcall OnNcHitTest(TMessage &Message);
// User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_NCHITTEST,TMessage,OnNcHitTest);
END_MESSAGE_MAP(TForm);
protected:
virtual void __fastcall WndProc(TMessage &Message);
virtual void __fastcall CreateParams(TCreateParams ¶ms);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
.cpp File
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "wmnc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CreateParams(TCreateParams ¶ms)
{
TForm::CreateParams(Params);
Params.Style|=WS_POPUP;
Params.Style^=WS_DLGFRAME;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OnNcHitTest(TMessage &Message)
{
TPoint PT;
PT.x=LOWORD(Message.LParam);
PT.y=HIWORD(Message.LParam);
PT=ScreenToClient(PT);
RECT rect;
::SetRect(&rect,0,0,20,ClientHeight);
if(PtInRect(&rect,PT))
{
Message.Result=HTCAPTION;
//ShowMessage("How are you");
}
else
{
DefaultHandler(&Message);
}
}
void __fastcall TForm1::FormPaint(TObject *Sender)
{
RECT rect;
::SetRect(&rect,0,0,ClientWidth,ClientHeight);
Canvas->Pen->Color=clBlue;
Canvas->Brush->Color=clBlue;
Canvas->Rectangle(0,0,20,ClientHeight);
char *msg="My Fellow Citizens!";
LOGFONT fontRect;
memset(&fontRect,0,sizeof(LOGFONT));
fontRect.lfHeight=-13;
fontRect.lfWeight=FW_NORMAL;
fontRect.lfEscapement=900;
lstrcpy(fontRect.lfFaceName,"宋体");
HFONT hFont=CreateFontIndirect(&fontRect);
HFONT hOld=::SelectObject(Canvas->Handle,hFont);
::SetRect(&rect,0,0,20,ClientHeight);
::SetTextColor(Canvas->Handle,RGB(255,255,255));
::SetBkColor(Canvas->Handle,RGB(255,0,0));
::TextOut(Canvas->Handle,3,ClientHeight-3,msg,lstrlen(msg));
::SelectObject(Canvas->Handle,hOld);
::DeleteObject(hFont);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WndProc(TMessage &Message)
{
if(Message.Msg==WM_SYSCOMMAND)
{
if(Message.WParam==SC_MAXIMIZE || Message.WParam==61490)
{
Invalidate();
}
}
TForm::WndProc(Message);
}
void __fastcall TForm1::FormResize(TObject *Sender)
{
Invalidate();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
int button;
button=Application->MessageBox("Do you want to exit thisform?","Confirmation",MB_YESNO+MB_ICONQUESTION);
if(button==IDYES)
{
Application->Terminate();
}
}
//---------------------------------------------------------------------------
MFC 自绘
标题栏
和tab control简单
思路
代码
MFC 自绘
标题栏
和tab control简单
思路
因为不少网友推荐我上传这份代码,其实
思路
很简单,大家主要理解一下就行 https://blog.csdn.net/zz603976046/article/details/73896377
软件界面设计工具_3款合集
这个原型是
一个
设置窗体,主要由按钮、复选框、分组框和文本框等控件构成,其中一些按钮还具有响应的动作(如打开另
一个
界面,关闭窗体等)。如图一所示,这是使用Firework制作出来的交互图。 图一、使用Firework...
中文编程开发语言工具系统化教程初级1
熟悉构件取值赋值3 折叠式菜单滑动面板编程4 自定义图形窗口自定义
标题栏
编程5 多行文本分段显示编程6 调用外部exe文件关闭外部exe文件编程7 给自己编写的项目设置密码8 制作
一个
计算器编程9 图片浏览编程10 看图...
c#自定义
标题栏
在网上也查找了许多相关的资料,没有找到合适的解决方案,发现许多人也在寻求这个问题,最后我决定自己研究动手画
一个
标题栏
出来,经过今天一天的研究与编写,终于完成全部功能,现公布一下我的设计
思路
。...
MFC 自绘
标题栏
和tab control简单
思路
MFC 的UI太丑,决定自己自绘的方式来做i
标题栏
和tab下面是效果
思路
就是在客户区自己画矩形和给写上标题文字就行了
VCL组件使用和开发
604
社区成员
13,459
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章