| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 744 人关注过本帖
标题:我也要问个问题~问个控件是哪来的?
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:14 
我也要问个问题~问个控件是哪来的?
紅色框框中那個透明的控件~是哪裡來的~或怎設定的?大概只差這個還無從下手~
图片附件: 游客没有浏览图片的权限,请 登录注册
2011-05-26 21:07
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:7 
tabControl //选项卡控件,可以在多个选项卡中切换,每个都是一个容器,里面都有控件.
VB应该好像是在Microsoft Common Control中!

   唯实惟新 至诚致志
2011-05-26 22:53
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
VB中的我很清楚~VB中还分2种~但是都不能变透明~用起来感觉差了一大截~
话说顶部那个背景渐层色我都是拿程序带出来的~VB中的丑死了~内建的每个都很丑~

再不行我就干脆自己写字用的OCX的~但是这样麻烦就很多了~

目前光的用户界面的进度还未完成~有些还在猜它是用哪种控件去做的~例如右下角那个可移动视窗大小的控件~我在VB中就没看过~
图片附件: 游客没有浏览图片的权限,请 登录注册



很多图案都要自己画~真是要命~

[ 本帖最后由 wube 于 2011-5-26 23:43 编辑 ]

不要選我當版主
2011-05-26 23:31
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
下面的ListBox是大概完成60%吧~是自订的控件改的~在下去估计应该是ToolBar做的(要用Button连起来效果也差不多吧)~
再来就是广告~可以用WebBower做~最下面就用StatusBar的去做~然后用每找出所有的按钮后统一改变外观成图案模式(原本VB的缺这功能)~
要另外外挂~其他就是技术上的问题了~2种菜单都做好了等着呼叫来用~打赌他的MEUN绝对是用API做的~
最后就是右下角的拖拉Bar~和ProgresBar的亮点和闪光也是难题~然后就开始要搞资料库联结和搜寻档案这2步骤~

话说怎让Form也吃Frame的数据格式阿~这也是麻烦之一~
话说连自己都都搞不懂就不知道该问什么~但是等自己都搞懂了~也就没什么好问了~编程就是这么孤独的行业~
凡事都要靠自己~

[ 本帖最后由 wube 于 2011-5-27 00:03 编辑 ]

不要選我當版主
2011-05-26 23:59
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:7 
图片附件: 游客没有浏览图片的权限,请 登录注册

无知
2011-05-27 00:27
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
听您这样说我就不相信我搞不出来了~

不要選我當版主
2011-05-27 09:13
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


这个就是要放到QQ音乐的菜单原始版本~当然要做修改~
只是最下面的StatusBar最右边的将视窗拉大拉小功能貌似的StatusBar内含的~
有人知道要怎调用出来吗?

图片附件: 游客没有浏览图片的权限,请 登录注册

这是目前的进度~

图片附件: 游客没有浏览图片的权限,请 登录注册

这是测试版~由上至下~最上面还在考虑用哪种控件去实现~进度就是闪光问题比较头疼~第3个红框我想跟第一个会是相同控件去实现~第四个我改用CoolBar去实做了~当然右边按钮也是会等同于其他按钮控件样式~在来分页功能有在设计师模式找到可用的控件~只是不知道怎把它拉过来~ListBox中早先就做好了~这是原始ListBox中修改过的OCX版本(是谁说的QQ只用基本控件的)~在下来用ToolBar解决了(只是背景色还在研究中)~在来就是WebBower拉就有的控件~再来就是左边好解决的StatusBar~右边拉大拉小功能就等高手提点一下了~

忘了说Form外圈因为远本是四角型的~所以把背景改透明~用Shape控件把它框起来~并且改成圆脚~
这样效果就出来了~而顶层的形式渐层效果也是靠程序跑出来的~提示是靠Line控件慢慢画出来的~

到底QQ号的按钮是ImageBox做的~还是CommonButton拉出来改的~实在有点混乱~

最后就是要再写个控件~或生成一个Form去让鼠标触发Move事件出现提示框的效果~类似加强版的的ToolTipText的功能~

[ 本帖最后由 wube 于 2011-5-27 12:41 编辑 ]

不要選我當版主
2011-05-27 12:30
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:7 
用spy看看不就行了?
mfc 的窗口自绘灰常给力。
转到vb6的窗口自绘,“你无如杀了我!”
2011-05-27 17:38
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
我只是想练习一下~看看只使用软件~可以用VB的模仿到什么程度~看VB中可以做到什么程度吧~

不知道怎人家的StatusBar的都有这个~
图片附件: 游客没有浏览图片的权限,请 登录注册


怎我做出来的就没有~该不会是我把Form.BorderStyle=0~这样就没了吧?
图片附件: 游客没有浏览图片的权限,请 登录注册


这是网络找到的VB的渐层法~要用Line控件去绘图~MFC我不会~
还要在改一下~看能不能所有控件都适用~还没仔细看过~

程序代码:
Option Explicit

Public Type ListInfo
    Title As String
    Author As String
    URL As String
End Type

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Sub LineGradient(ByVal R1 As Single, G1 As Single, B1 As Single, r2 As Single, G2 As Single, B2 As Single, Types As Integer, MyForm As Form)  '线性渐层副程式
'R1,G1,B1为起始的RGB颜色值,R2,G2,B2为终止的RGB颜色值,Types为渐层类型(1~5)

    MyForm.ScaleMode = 1 '以Twip为单位
    MyForm.AutoRedraw = True '开启自动重绘
    MyForm.DrawWidth = 1 '愈小品质愈好,但愈LAG

    Dim Rd As Single, Gd As Single, Bd As Single '储存RGB的单位差值
    Dim i As Integer 'I为For回圈的计次变数
    
    Select Case Types
    
        Case 1 '左到右渐层
        
            Rd = (r2 - R1) / MyForm.ScaleWidth * MyForm.DrawWidth '计算R1与R2的差值,看它每个间隔差了多少数值
            Gd = (G2 - G1) / MyForm.ScaleWidth * MyForm.DrawWidth '计算G1与G2的差值,看它每个间隔差了多少数值
            Bd = (B2 - B1) / MyForm.ScaleWidth * MyForm.DrawWidth '计算B1与B2的差值,看它每个间隔差了多少数值
            
            For i = 0 To MyForm.ScaleWidth Step MyForm.DrawWidth '绘图For回圈
                If R1 > 255 Then R1 = 255 '防溢位判断,R1的范围需为0~255
                If R1 < 0 Then R1 = 0
                If G1 > 255 Then G1 = 255 '防溢位判断,G1的范围需为0~255
                If G1 < 0 Then G1 = 0
                If B1 > 255 Then B1 = 255 '防溢位判断,B1的范围需为0~255
                If B1 < 0 Then B1 = 0
                MyForm.ForeColor = RGB(R1, G1, B1) '更改线条颜色
                MyForm.Line (i, 0)-(i, MyForm.ScaleHeight) '利用MyForm.Line来画线(垂直线)
                R1 = R1 + Rd '原R1加上间隔数值,便可以以固定比例来进行颜色更变
                G1 = G1 + Gd '原G1加上间隔数值,便可以以固定比例来进行颜色更变
                B1 = B1 + Bd '原B1加上间隔数值,便可以以固定比例来进行颜色更变
            Next i
            
        Case 2 '上到下渐层
        
            Rd = (r2 - R1) / MyForm.ScaleHeight * MyForm.DrawWidth '计算R1与R2的差值,看它每个间隔差了多少数值
            Gd = (G2 - G1) / MyForm.ScaleHeight * MyForm.DrawWidth '计算G1与G2的差值,看它每个间隔差了多少数值
            Bd = (B2 - B1) / MyForm.ScaleHeight * MyForm.DrawWidth '计算B1与B2的差值,看它每个间隔差了多少数值
            
            For i = 0 To MyForm.ScaleHeight Step MyForm.DrawWidth '绘图For回圈
                If R1 > 255 Then R1 = 255 '防溢位判断,R1的范围需为0~255
                If R1 < 0 Then R1 = 0
                If G1 > 255 Then G1 = 255 '防溢位判断,G1的范围需为0~255
                If G1 < 0 Then G1 = 0
                If B1 > 255 Then B1 = 255 '防溢位判断,B1的范围需为0~255
                If B1 < 0 Then B1 = 0
                MyForm.ForeColor = RGB(R1, G1, B1) '更改线条颜色
                MyForm.Line (0, i)-(MyForm.ScaleWidth, i) '利用MyForm.Line来画线(水平横线)
                R1 = R1 + Rd '原R1加上间隔数值,便可以以固定比例来进行颜色更变
                G1 = G1 + Gd '原G1加上间隔数值,便可以以固定比例来进行颜色更变
                B1 = B1 + Bd '原B1加上间隔数值,便可以以固定比例来进行颜色更变
            Next i
            
        Case 3 '左中右渐层
        
            Rd = (r2 - R1) / MyForm.ScaleWidth * MyForm.DrawWidth * 2 '计算R1与R2的差值,看它每个间隔差了多少数值(算到中间部分,故MyForm.ScaleWidth要先除2,即Rd乘2)
            Gd = (G2 - G1) / MyForm.ScaleWidth * MyForm.DrawWidth * 2 '计算G1与G2的差值,看它每个间隔差了多少数值(算到中间部分,故MyForm.ScaleWidth要先除2,即Gd乘2)
            Bd = (B2 - B1) / MyForm.ScaleWidth * MyForm.DrawWidth * 2 '计算B1与B2的差值,看它每个间隔差了多少数值(算到中间部分,故MyForm.ScaleWidth要先除2,即Bd乘2)
            
            For i = 0 To MyForm.ScaleWidth / 2 Step MyForm.DrawWidth '绘图For回圈(到MyForm.ScaleWidth的一半)
                If R1 > 255 Then R1 = 255 '防溢位判断,R1的范围需为0~255
                If R1 < 0 Then R1 = 0
                If G1 > 255 Then G1 = 255 '防溢位判断,G1的范围需为0~255
                If G1 < 0 Then G1 = 0
                If B1 > 255 Then B1 = 255 '防溢位判断,B1的范围需为0~255
                If B1 < 0 Then B1 = 0
                MyForm.ForeColor = RGB(R1, G1, B1) '更改线条颜色
                MyForm.Line (i, 0)-(i, MyForm.ScaleHeight) '利用MyForm.Line来画线(垂直线)
                R1 = R1 + Rd '原R1加上间隔数值,便可以以固定比例来进行颜色更变
                G1 = G1 + Gd '原G1加上间隔数值,便可以以固定比例来进行颜色更变
                B1 = B1 + Bd '原B1加上间隔数值,便可以以固定比例来进行颜色更变
            Next i
            
            For i = MyForm.ScaleWidth / 2 To MyForm.ScaleWidth Step MyForm.DrawWidth '绘图For回圈(从MyForm.ScaleWidth的一半到MyForm.ScaleWidth,反转渐层)
                If R1 > 255 Then R1 = 255 '防溢位判断,R1的范围需为0~255
                If R1 < 0 Then R1 = 0
                If G1 > 255 Then G1 = 255 '防溢位判断,G1的范围需为0~255
                If G1 < 0 Then G1 = 0
                If B1 > 255 Then B1 = 255 '防溢位判断,B1的范围需为0~255
                If B1 < 0 Then B1 = 0
                MyForm.ForeColor = RGB(R1, G1, B1) '更改线条颜色
                MyForm.Line (i, 0)-(i, MyForm.ScaleHeight) '利用MyForm.Line来画线(垂直线)
                R1 = R1 - Rd '原R1减掉间隔数值,便可以反转渐层
                G1 = G1 - Gd '原G1减掉间隔数值,便可以反转渐层
                B1 = B1 - Bd '原B1减掉间隔数值,便可以反转渐层
            Next i
            
        Case 4 '上中下渐层
        
            Rd = (r2 - R1) / MyForm.ScaleHeight * MyForm.DrawWidth * 2 '计算R1与R2的差值,看它每个间隔差了多少数值(算到中间部分,故MyForm.ScaleHeight要先除2,即Rd乘2)
            Gd = (G2 - G1) / MyForm.ScaleHeight * MyForm.DrawWidth * 2 '计算G1与G2的差值,看它每个间隔差了多少数值(算到中间部分,故MyForm.ScaleWidth要先除2,即Gd乘2)
            Bd = (B2 - B1) / MyForm.ScaleHeight * MyForm.DrawWidth * 2 '计算B1与B2的差值,看它每个间隔差了多少数值(算到中间部分,故MyForm.ScaleWidth要先除2,即Bd乘2)
            
            For i = 0 To MyForm.ScaleHeight / 2 Step MyForm.DrawWidth '绘图For回圈(到MyForm.ScaleHeight的一半)
                If R1 > 255 Then R1 = 255 '防溢位判断,R1的范围需为0~255
                If R1 < 0 Then R1 = 0
                If G1 > 255 Then G1 = 255 '防溢位判断,G1的范围需为0~255
                If G1 < 0 Then G1 = 0
                If B1 > 255 Then B1 = 255 '防溢位判断,B1的范围需为0~255
                If B1 < 0 Then B1 = 0
                MyForm.ForeColor = RGB(R1, G1, B1) '更改线条颜色
                MyForm.Line (0, i)-(MyForm.ScaleWidth, i) '利用MyForm.Line来画线(水平横线)
                R1 = R1 + Rd '原R1加上间隔数值,便可以以固定比例来进行颜色更变
                G1 = G1 + Gd '原G1加上间隔数值,便可以以固定比例来进行颜色更变
                B1 = B1 + Bd '原B1加上间隔数值,便可以以固定比例来进行颜色更变
            Next i
            
            For i = MyForm.ScaleHeight / 2 To MyForm.ScaleHeight Step MyForm.DrawWidth '绘图For回圈(从MyForm.ScaleHeight的一半到MyForm.ScaleHeight,反转渐层)
                If R1 > 255 Then R1 = 255 '防溢位判断,R1的范围需为0~255
                If R1 < 0 Then R1 = 0
                If G1 > 255 Then G1 = 255 '防溢位判断,G1的范围需为0~255
                If G1 < 0 Then G1 = 0
                If B1 > 255 Then B1 = 255 '防溢位判断,B1的范围需为0~255
                If B1 < 0 Then B1 = 0
                MyForm.ForeColor = RGB(R1, G1, B1) '更改线条颜色
                MyForm.Line (0, i)-(MyForm.ScaleWidth, i) '利用MyForm.Line来画线(水平横线)
                R1 = R1 - Rd '原R1减掉间隔数值,便可以反转渐层
                G1 = G1 - Gd '原G1减掉间隔数值,便可以反转渐层
                B1 = B1 - Bd '原B1减掉间隔数值,便可以反转渐层
            Next i
            
        Case 5 '乱数渐层
        
            Randomize Timer '时间乱数种子
            
            Call LineGradient(Int(Rnd * 255 + 1), Int(Rnd * 255 + 1), Int(Rnd * 255 + 1), Int(Rnd * 255 + 1), Int(Rnd * 255 + 1), Int(Rnd * 255 + 1), Int(Rnd * 4 + 1), MyForm) '再呼叫MyForm.LineGradient,引数为乱数
    
    End Select
End Sub


我有稍微改过参数传递值而已~

[ 本帖最后由 wube 于 2011-5-27 19:41 编辑 ]

不要選我當版主
2011-05-27 19:39
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:0 
以下是引用Artless在2011-5-27 00:27:57的发言:

图片附件: 游客没有浏览图片的权限,请 登录注册

无知
2011-05-27 20:35
快速回复:我也要问个问题~问个控件是哪来的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044201 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved