紧急:哪位高手用过MSFlexGrid控件?

flashlong 2003-01-10 12:57:50
我想要在点击Grid中的一个单元格时,那个单元格就变成一个下拉框。
大概要解决下面一些问题:
1。怎样得到每个单元格的位子
2。怎样把那个下拉框显示到那个位置上

或许也许有其他一些方法,请各位指教!

...全文
46 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycjia2002 2003-01-15
  • 打赏
  • 举报
回复
我也在学习
看看这个吧
http://www.csdn.net/develop/read_article.asp?id=15945
fireflyxx 2003-01-13
  • 打赏
  • 举报
回复
移完后
m_combox.BringWindowToTop();
就不会被遮住了
flashlong 2003-01-12
  • 打赏
  • 举报
回复
多谢各位!我还有个问题:
把下拉框移到Grid上会被遮住,好像要从Grid上创建下拉框,不知如何创建?

To zhoujuntao9344():
vc++6特效界面制作 编程利器 哪有的下啊?
flashlong 2003-01-10
  • 打赏
  • 举报
回复
我看了MSDN,但都是VB下实现的。
在VC下怎么实现啊,好象没有cell的属性~~~~~
LeeZi 2003-01-10
  • 打赏
  • 举报
回复
MSDN上面的Q201197
LeeZi 2003-01-10
  • 打赏
  • 举报
回复
MSDN上面有关于Edit的例子。自己再改造一下。
firmbird 2003-01-10
  • 打赏
  • 举报
回复
Cell有CellHeight,CellTop,CellLeft,CellWidth属性的
wxjz2 2003-01-10
  • 打赏
  • 举报
回复
一般来说就是你想的方法。 先得单元格的位置,然后将一个隐藏的下拉框移到到那个位置, 显示并放置在最前端。

在Grid中可以得到当前的单元格(第几行,第几个),然后 可以计算得出在 主窗口的位置!
我没试试:(
fireflyxx 2003-01-10
  • 打赏
  • 举报
回复
RECT grd;

double scaleX=(this->GetDC()->GetDeviceCaps(LOGPIXELSX)*(1.0/1440));
double scaleY=(this->GetDC()->GetDeviceCaps(LOGPIXELSY)*(1.0/1440));

m_ListGrid.GetWindowRect(&grd);

RECT loc;
loc.left =int( grd.left + m_ListGrid.GetCellLeft() * scaleX);
loc.top = int(grd.top + m_ListGrid.GetCellTop() * scaleY);
loc.right =int(loc.left + m_ListGrid.GetCellWidth() * scaleX);
loc.bottom =int(loc.top-1 + m_ListGrid.GetCellHeight() * scaleY);
ScreenToClient(&loc);

loc是当前单元格位置
zhoujuntao9344 2003-01-10
  • 打赏
  • 举报
回复
你自己写一个grid 控件吧,不是很难,网上有免费的例子,另外,推荐一本书由你想要的源代码,可能叫 vc++6特效界面制作 编程利器
flashlong 2003-01-10
  • 打赏
  • 举报
回复
还有个问题:
怎样计算得出Grid控件在主窗口的位置 ?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧