| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:如何使组合框下接列表中的项目多于8个呢?默认只能显示8项。但是如何拉长些 ...
只看楼主 加入收藏
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
收藏
 问题点数:0 回复次数:4 
如何使组合框下接列表中的项目多于8个呢?默认只能显示8项。但是如何拉长些呢?
如何使组合框下接列表中的项目多于8个呢?默认只能显示8项。但是如何拉长些呢?
----------
找了半天,也没找到,以前好象看到过,要通过api函数实现,可是如何做呢?
搜索更多相关主题的帖子: 项目 列表 
2007-08-23 10:57
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
谢谢楼上的指导,我有了思路,现在我找到一个简单的方法,比如在窗体中,
先声明movewindow函数,然后在窗体的load事件中用一句代码就能实现这个功能:

Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long

'调用API函数设置组合框下位列表长度
MoveWindow cbogongyi.hwnd, cbogongyi.Left / 15, cbogongyi.Top / 15, cbogongyi.Width / 15, 200, 1

为什么要除以15呢,因为VB窗体默认是缇,可是api函数是以像素为单位的.
所以长度就要转成像素.一缇=15像素

2007-08-23 13:51
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
不是都是15

由Screen.TwipsPerPixelX和Screen.TwipsPerPixelY表示……

估计宽屏的Y就不一样了

快上课了……
2007-08-23 14:05
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
说错了,1象素=15缇

2007-08-23 15:29
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
以下是引用ggyy66在2007-8-23 13:51:12的发言:
谢谢楼上的指导,我有了思路,现在我找到一个简单的方法,比如在窗体中,
先声明movewindow函数,然后在窗体的load事件中用一句代码就能实现这个功能:

Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long

'调用API函数设置组合框下位列表长度
MoveWindow cbogongyi.hwnd, cbogongyi.Left / 15'虽然通常情况下是这样的,但有时可能不是这样转换的, cbogongyi.Top / 15, cbogongyi.Width / 15, 200, 1

为什么要除以15呢,因为VB窗体默认是缇,可是api函数是以像素为单位的.
所以长度就要转成像素.一缇=15像素
'反了吧?

这乱七八槽的说的什么呢?


VB QQ群:47715789
2007-08-23 17:05
快速回复:如何使组合框下接列表中的项目多于8个呢?默认只能显示8项。但是如何拉 ...
数据加载中...
 
   



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

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