论坛: 编程破解 标题: VB问题:关于托盘右击菜单 复制本贴地址    
作者: peter [peter]    论坛用户   登录
        本人想做一个比较个性少少的托盘右击菜单,但VB本身的菜单太无趣啦。。
自己想“画”一个但又好像很难。(呵呆)。所以我想用一个form(窗体)来代替,把它
做成菜单的样子-(因为是窗体所以爱让它怎样就怎样。。)问题来啦。。。
这个“菜单”的显示位置该怎么写呢??本人想过。求出鼠标的 X,Y 来实现,但不行。
我发现在状态栏那个区域里鼠标的 Y=0 的 。。为什么用VB本身那个菜单,它是可以很容易的
在托盘弹出。。它有没有坐标呢???郁闷!!
  朋友能否谈谈这个问题。发表一下见意,看过的文章。。。~~~~~~~

地主 发表时间: 05-05-03 13:07

回复: jhkdiy [jhkdiy]   版主   登录
你是怎样获取x y 的?

B1层 发表时间: 05-05-03 14:20

回复: peter [peter]   论坛用户   登录
我在Module定义了一个
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
public type pointaip
      x as long
      y as long
end type
public cursxy as pointaip
    GetCursorPos cursxy
'  cursxy.x      x坐标
'  cursxy.y      y坐标     
就这样呀~~~~~~~~我想这个没错吧。是鼠标在屏幕的坐标吧。。


B2层 发表时间: 05-05-04 17:08

回复: mamimoluo [mamimoluo]   论坛用户   登录
VB本身有这功能的,用窗体代替不是刻舟求剑吗?
回去再看看(大概已经解决了吧,也许我的是废话)

B3层 发表时间: 05-05-05 21:12

回复: peter [peter]   论坛用户   登录
    楼上的大哥。。呵~~~~``请清楚一点,这是一种技术的探讨。
用VB工具建的菜单~~~~(你满足啦)~~~~呵呵~~~~~~~~~~`你想想用一个窗体来代替菜单,那是什么定义。。就是你想加什么上去做成什么形状,用什么样的颜色,什么样的图片
    现在的东东不能谋杀人类的视觉,它还能生存吗。。??你以为这么多人用 XP 而 少用2K
是因为 XP 功能强大,易用,智能~?????????Windown里面的功能你我知道多少,而又
解多少??

B4层 发表时间: 05-05-11 14:01

回复: wxngzybb [wxngzybb]   论坛用户   登录
win的各种版本里,菜单都不是窗体,你要明白这点
菜单的样式完全可以通过系统关于的菜单操作的很多api来更改,包括加入图片或者更改颜色等等。但是菜单的形状你就不能改变,还有他的弹出方式和位置,这些行为是不可一该的。你可以参看界面设计的书籍,自己修改封装menu类。
你想自己构造一个窗口来模拟菜单的样式和行为,虽然可能,可是那毕竟首先是个窗口,消耗资源太大,费力并不讨好,二是你用的开发工具很难很难实现(可能是可能,你不嫌弃vb的话就用vb试试撒)。应该选vc系列或masm汇编语言。
顺便说一句,我用xp是因为他的安全性好,他很多方面可以和unix比较的,9x系列的根本没有安全可言

B5层 发表时间: 05-05-13 02:47

回复: peter [peter]   论坛用户   登录
    我对于菜单和窗本的定义不明确,但我还是知道弹出的菜单来窗体的分别。
你所讲到的资源对于这一点,呵呵小弟不是很认同。菜单和窗体都有着一个相同点,是创建一个区域,但又有区别,不然的话我也不说是,用一个窗体来代替菜单啦,用窗体来代替菜单这样的例子有吧,起码我认来QQ2005那个托盘的第一个右击菜单是,你认为它只是一个普普通通的右击菜单吗??对于用那种工具来开发,你说VB“有可能”??对于这个,我是可以给你确定的回答,那是可以的。对于用到API函数,你认为VC,或其它的开发工具会有什么变化吗??还不是一样的函数调用---(对于我所认识的了解)
    也顺便说说,大多数的人用XP就是认为它的安全性高,有多少人了解这一点。2K pro在这一点上不会输给XP吧!对于我所认识的人装的都是XP,又有多少人会比它的外表去掉,来换你所讲到的“资源”-----最起码我不会,这还不止,这还用其它的工具把它的外表改成M3的界面(超型)。所以我认为,为一个东东包装一个醒目的外表是很重要的,这个东东的好坏那就另说啦。。。。。。 不要做到只有希有其表。。。。。。。。。。。

B6层 发表时间: 05-05-13 12:51

回复: peter [peter]   论坛用户   登录
      狂晕~~~~~花了我一天时间原来可以这么简单的做,,一样是用一个API函数取得
鼠标在托盘屏幕的 X ,Y,(跟上面一样)只是要要将point坐标与twip坐标之间的一个转换
,,,,转转之间原来发现只是一个简简单单的数学问题。。将转为的twip坐标的 X ,Y 减去
这个“菜单”的width与height就是这个菜单的 X,Y坐标。。。接下来就是将这个“菜单”
Show出来。--Move  X,Y  再SetFocus    ,在LostFocus把这个“菜单” hide,,,,,,,
再用一个API函数将这个“菜单”总在前方式显示。-------------ok
一个名副其实的“菜单”出来啦。~!!!!!!!!!!!!!!!!5~~~~~5~5555~~55
一个窗体式的“菜单”。。要它圆就圆,扁就扁

B7层 发表时间: 05-05-13 15:48

回复: wxngzybb [wxngzybb]   论坛用户   登录
我谦虚地告诉你
vb的系统接口是满足不了系统应用的。很多api, vb无能为力
自己多钻研

B8层 发表时间: 05-05-14 00:59

回复: peter [peter]   论坛用户   登录
      嗯~~对于VB深入这一点,小弟还在学习中.对于它对API函数的调用就不以评价.
我也没用过什么JAVA VC# J.等等,,对于深入这一点,我觉得非常的难呀!都是靠着自己的兴趣
去不断的学习,,(是非常育目的那一种),一个字总决 "妖"

B9层 发表时间: 05-05-19 13:01

回复: wxngzybb [wxngzybb]   论坛用户   登录
没什么,我一开始也是从学VB开始的,它是我windows os上接触的第一个开发环境。后来我发现在进程管理内存管理和网络通信细节方面vb的系统接口调用不能成功,才觉得必须转向vc和masm的。关键是看自己的应用能否满足,其实vb在界面方面还是不错的

B10层 发表时间: 05-05-20 14:33

回复: peter [peter]   论坛用户   登录
    赞同..只要在自身学习中发觉不够用时.才会寻找其它的方法(起码我自己是这样)
我想我应该改变一下这样性格吧(呆~~~~~呵呵...一个人的性格是很难改变的)

B11层 发表时间: 05-05-22 02:21

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号