完善Borland C++ Builder可视化控件功能三例
王光红
笔者在编程中积累了点滴经验,与各位交流,共同提高。
一. 让PageControl的TabSheet“弹出来”
|
弹出来的效果 |
用过PageControl的人知道,PageControl之ActivePage的标头较“平坦”,没有“弹出”的立体效果,笔者经过改进达到了“弹出”的效果。
在OnDrawTab事件中加入以下代码:
void __fastcall TSqlBuilderForm::PageControl1DrawTab(
TCustomTabControl *Control, int TabIndex, const TRect &Rect,
bool Active)
{
Byte Red0,Red1,Green0,Green1,Blue0,Blue1;
if(Active)
{
Red0 = 0;
Red1 = 15;
Green0 = 55;
Green1 = 200;
Blue0 = 135;
Blue1 = 240;
}
else
{
Red0 = 51;
Red1 = 101;
Green0 = 91;
Green1 = 200;
Blue0 = 91;
Blue1 = 200;
}
int h;
h = Rect.Bottom - Rect.Top - 2;
Byte clr,clg,clb;
int clTmp;
int i = 0;
float c=0.4; //亮的位置
SetBkMode(Control->Canvas->Handle,TRANSPARENT);
for(; i< h * c; ++i)

本文介绍了三个Borland C++ Builder可视化控件的改进技巧,包括让PageControl的TabSheet实现立体效果,为StringGrid绘制斑马线以提升阅读清晰度,以及创建一个自动展开的ComboBox控件,提高用户体验。

3551

被折叠的 条评论
为什么被折叠?



