永发信息网

VC++界面设计的问题

答案:6  悬赏:40  手机版
解决时间 2021-02-16 12:05
VC++界面设计的问题
最佳答案
很简单
就从 CWnd继承就行。
首先是数据管理,看显示项,有图片有文字,然后有位置,和ID用来通知父窗口。可以定义个结构。
struct tagListItem
{
UINT nMyID;
CString strMyName;
HBITMAP hMyPicture;
CRect rcMyPos,这个不是指定的,wm_size时候重新布局生成的,方便绘制,和鼠标命中坚持。
}
用个链表来管理这些按钮项目。

然后重要的是窗口绘制部分。
wm_paint;
cdc* pdc= GetDC();
// 图片
cdc*memdc= createcom...
memdc.selectobjec(item.hMyPicture);
bitblt...
// 文字
drawtext
//
等待就能绘制管理部分的界面了。

事件控制,响应 wm_lbuttondown 就行了
1.管理/查询界面。类中用个标记判断当前是管理还是查询。鼠标点击查询就切换到查询,点击管理就切换到管理界面,wm_paint绘制的时候根据这个标记值来绘制相应内容。 (类中可以存“管理”“查询”按钮的rect就行了,在wm_lbuttondown事件函数里面判断鼠标位置)。
2.按钮点击,在wm_lbutdown里面枚举按钮链表,判断光标在那个按钮的 rcMyPos 里面就行了,简单点,直接使用sendmessage向父窗口发送消息:
sendmessage(wm_command, wparam, lparam)。发送别的消息也可以,随便定义一个就可以了,关键是要把这个按钮的ID给传过去,或者把按钮的数据信息都传过去。(如果是wm_command的话,比较通用,但是ID不要和菜单项工具条里面的冲突)
全部回答
创建列表控件
左边是一个自定义控件,控件里面是由 另一个控件组成滴,这个控件是由一个Button和一个listctl组成滴
class pannel
{
private:
CArray< CMenuCtl > m_Menus;
}
class CMenuCtl
{
private:
CButton m_button;
CListCtl m_list;
}
CMenuCtl一层一层的画到pannel上去,通过层变换和顶层CMenuCtl 的Movewindow就可以实现动态效果。
楼主,明白?
可以使用树状控件来编写CTreeList
横向的是自定义的快捷工具栏
纵向的有点像是ListCtrl的Icon(图标)格式
至于你说的显示不同的快捷图标,你可以用隐藏啊,
点"管理"的时候 显示一部分图标,隐藏一部分图标
(可用ShowWindow函数 的SW_HIDE 和SW_SHOW参数)
点"查询"同理
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一件工作,甲单独做6小时完成,乙独做4小时完
我们是7月份涨的工资,公积金的缴纳基数调整
【临安春雨初霁】结合临安春雨初霁的创作背景
梁园区商丘新城街道办事处地址在哪,我要去那
双龙洗浴地址在什么地方,想过去办事
大米原浆酒为什么是黄色的?是保健酒吗?
广水市随州广水市城管局在哪里啊,我有事要去
前几天我通过一家快递公司寄送四个箱子到外地
尼尔机械纪元个体数据如何到95% 个体数据怎么
下列选项不是阵发性室上性心动过速的临床特点
轨道车司机操作安全应注意什么
23岁脸上突然长白斑是什么斑?如题 谢谢了
龙泉KTV地址在哪,我要去那里办事
北京百川万隆国际教育咨询服务有限公司怎么去
西安区牡丹江市行政学院在什么地方啊,我要过
推荐资讯
加热后会变软,冷却后会变硬,硬的时候像塑料
季季红农家菜地址在哪,我要去那里办事
上海巿到乌镇的高铁车次和时间?
渌秃在哪里啊,我有事要去这个地方
三合水果蔬菜超市在什么地方啊,我要过去处理
仁心大药房繁清店在哪里啊,我有事要去这个地
若需要确定患者是否有颅底骨折,应选择的影像
生化汤重用全当归为君,意在()A.养血补肝B.养
留给它们星的光和月的光;漫过了小村,留下了
异能txt全集下载
中国拥有漫长的陆地边界和海岸线,其中,陆地
百育镇综合场怎么去啊,有知道地址的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?