怎样在对话框的任意位置显示图标?
例如,鼠标点击处显示。谢谢 问题点数:50、回复次数:11Top
1 楼njsg_zeng(大猫)回复于 2002-12-16 09:56:42 得分 0
用一个STATIC控件和图标关联起来,先使它隐藏,鼠标点击MoveWindow,Show(SW_SHOW)Top
2 楼gengkaipin(alan)回复于 2002-12-16 10:09:08 得分 0
这好像是固定位置的吧Top
3 楼Rigel(猎户座-参宿七)(蓝色的星星★)回复于 2002-12-16 10:29:45 得分 0
开始是固定的,你点击的时候移动到你点击的位置,就象楼上说的MoveWindow。
或者可以在OnPaint里用DrawIcon来画Top
4 楼gengkaipin(alan)回复于 2002-12-16 10:33:28 得分 0
我是这样写的:
CStatic m_static;
HICON hIcon = AfxGetApp()->LoadIcon(IDI_DEVICE);
m_static.Create("", WS_CHILD|WS_VISIBLE|SS_ICON, CRect(point.x, point.y, point.x+32, point.y+32), this);
m_static.SetIcon(hIcon);
执行完以后图标闪了一下,就消失了,请问是怎么回事?谢谢。解决这个问题我就给分了Top
5 楼hnyyy(前进)回复于 2002-12-16 10:49:16 得分 0
CStatic m_static;
HICON hIcon ;
都应定义在头文件中。Top
6 楼gengkaipin(alan)回复于 2002-12-16 11:33:01 得分 0
可是,我要的是鼠标点一下就增加一个图标,也就是说CStatic数目是不定的。只能动态定义CStatic对象,这怎么做,谢谢。Top
7 楼gengkaipin(alan)回复于 2002-12-16 11:40:37 得分 0
似乎是界面自己刷新,把原来的图标覆盖掉了Top
8 楼gengkaipin(alan)回复于 2002-12-16 12:08:25 得分 0
请问怎么办,是不是和他的父窗口有关Top
9 楼hnyyy(前进)回复于 2002-12-16 12:18:46 得分 0
不定义在头文件中,那么函数结束时就自动析构了,Static以及那个Icon都不存在了。Top
10 楼hnyyy(前进)回复于 2002-12-16 12:22:46 得分 50
你必须定义在头文件中,要想动态添加很多个的话,你可以使用CArray之类的来支持动态增减。Top
11 楼gengkaipin(alan)回复于 2002-12-16 12:51:02 得分 0
我也想到这个问题了,谢谢。马上给分Top




