博文

使任务栏成为透明窗体(2006-02-17 04:27:00)

摘要:Option ExplicitPrivate Const GWL_EXSTYLE = (-20)Private Const WS_EX_LAYERED = &H80000Private Const WS_EX_TRANSPARENT = &H20&Private Const LWA_ALPHA = &H2&Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function SetLayeredWindowAttributes Lib "User32" (ByVal hwnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As LongPrivate Const ERROR_SUCCESS = 0&Private Const REG_OPTION_NON_VOLATILE = 0    ' Key is preserved when system is rebootedPrivate Const SYNCHRONIZE = &H100000Private Const STANDARD_RIGHTS_ALL = &H1F0000Private Const KEY_QUERY_VALUE = &H1Private......

阅读全文(2994) | 评论:0

会自动隐藏的菜单(2006-02-17 04:24:00)

摘要:Disclaimer This example program is provided "as is" with no warranty of any kind. It is intended for demonstration purposes only. In particular, it does no error handling. You can use the example in any form, but please mention www.vb-helper.com.----- How to create a menu with a pixturebox, some labels, and a few lines to make it look good. I lot more flexibilty with this menu but unforutnately a lot more work and typing. You can make some very cool effects with bold, italics, underlining, colors, etc. etc. If you like the menu and use it for anything put a small link to my web site if you want, or just put my e-mail address since the URL is very long. Hopefully this address will change soon.http://www.geocities.com/SiliconValley/Ridge/6656/index.htmlE-Mail: S.S.Software@iName.comSami SamhuriPresident & C.E.O.S.S. Software-----以下是窗体中的代码:'------------------------------------------------------'' Create a menu with a picturebox and some labels,  ''The lines give it a nice effect tht y......

阅读全文(2499) | 评论:0

淡入淡出和半透明显示窗体 (2006-02-17 04:22:00)

摘要:演示如何使用Win2000新增的透明窗体样式,和载入与卸载窗体时的动态效果。Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As LongConst AW_HOR_POSITIVE = &H1    '从左到右Const AW_HOR_NEGATIVE = &H2    '从右到左Const AW_VER_POSITIVE = &H4    '从上到下Const AW_VER_NEGATIVE = &H8    '从下到上Const AW_CENTER = &H10       '从中间开始Const AW_HIDE = &H10000      '卸载时使用Const AW_ACTIVATE = &H20000    '打开时使用Const AW_SLIDE = &H40000      '与前四种组合拉出样式Const AW_BLEND = &H80000      '淡入淡出Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As LongPrivate Const WS_EX_LAYERED = &H8000......

阅读全文(3003) | 评论:0

十年前的妈妈(2006-02-17 03:11:00)

摘要:  那是在十年前的一天,当这位老师正利用中午休息时间,在家里睡觉时,突然间,电话铃响了,她接过来一听,里面却传出一个陌生粗暴的声音:"你家的小孩偷书,现在被我们抓住了,你快来啊!"   在话筒里还传出一个小女孩的哭闹声,和旁边人的喝叱声。   她回头眺望着一边正在看电视的唯一女儿,心中立即就明白过来。   肯定是有一位小女孩,因为偷书被售货员抓住了,而又不肯让家里人知道,所以,胡编了一个电话号码,才碰巧打到这里。她当然可以放下电话不理,甚至也可以斥责对方,因为这件事,和她没有任何关系。   但自己是老师,说不定她就是自己的学生呢?   透过电话,她隐约可以设想出,那个一念之差的小女孩,一定非常惊慌害怕,正面临着也许是人生中最可怕的境地。   犹豫了片刻之后,她的脑海里突然冒出了一个念头,对了,就这样做。于是,她问清了书店的地址之后,就赶了过去。   正如她预料的那样,在书店里站立着一位满脸泪迹的小女孩,而旁边的大人们,正恶狠狠的大声斥责着。   她一下冲上去,将那个可怜的小女孩搂在怀里,转身对旁边的售货员说道:"有什么跟我说吧,不要吓着孩子。"   在售货员不情愿的嘀咕声中,她交清了几十元罚款,才领着这个小女孩,走出了书店,并看清楚了那张被泪水与惊恐,弄得一塌糊涂的脸。   她笑了起来,将小女孩领到家中,好好清理了一下,什么都没有问,就让小女孩离开了,临走时,她还特意叮嘱道,如果你要看书,就到阿姨这里来,里面有好多书呢。   惊魂未定的小女孩,深深的看了她一眼,便飞一般的跑走了,便再也没有出现。   时间如流水匆匆而过,不知不觉间,十年的光阴,一晃而过,她早已忘记了这件事,依旧住在这里,过着平静安祥的生活。   有一天中午,门外响起了一阵敲门声。当她打开房门后,看到一位年轻漂亮的陌生女孩,露着满脸的笑容,手中还捧着一大堆礼物。   "你找谁?"她疑惑的问道,那女孩激动的说出一大堆话。好不容易,她才从那个陌生女孩的叙述中,恍然发现,原来她就是当年的那个小女孩,十年之后,已经顺利从大学毕业,现在还特意来看望自己。   这个年轻女孩眼睛里泛着泪光,轻声说道:"虽然我至今都不明白,您为什么愿意冒充我妈妈,解救了我,但我总觉得,这十年来,一直都想喊您一声,妈妈。"   老师的眼睛里,也开始糊模起来,她有些好奇的问道:"如果那天我不帮你,会发生怎......

阅读全文(2178) | 评论:0

勇敢表达感谢,大方接受好意(2006-02-17 03:10:00)

摘要:  慷慨地表达心中的感谢,和大方地接受别人的感谢一样,都是生活中很珍贵的美德。表达感谢和接受感谢的双方,都将会因此而生出更丰盈的生命能量,并且让四周的人,也从中获得正面的力量。   几个月前,我曾经搭乘一班号码为六十一路的公共汽车,对非常有礼貌的司机先生,留下很深刻的印象。每位乘客上车时,他都会以亲切的口气打招呼:"嗨!你好!"   尽管限于本地民情,不是每一位乘客都能领受这样的好意予以响应,有些人甚至因为害羞而不知所措,面无表情地走进车厢,他并不因此而受挫,仍然热忱地向每位上车的乘客说:"你好!"向下车的乘客说:"谢谢!"   为了鼓励这样有礼貌的好司机,我强迫自己收起不善于和陌生人沟通的情绪,主动在上车时大声地响应他:"你好!"下车时,我也向他说:"谢谢!"   车门一关,扬尘而去,我很后悔没有记下他的车号及驾驶员编号,只好打消写信到公车站请站长表扬他的念头。   事隔几个月之后,我几乎快要忘记这件事时,又有机会搭乘六十一路公车,一上车就被他那熟悉的招呼声"嗨!你好!"唤起记忆。   由于该路线车班不多,高峰时间的乘客也很少,我很顺利找到位置坐下来,正准备从包包里拿笔记下他的车号及驾驶员编号,抬头一看,我发现这个车厢除了保持印象中的清洁整齐之外,还多了几项东西:市长颁发的奖状、乘客的留言、及许多感谢的卡片。   卡片上密密麻麻写满道谢及鼓励的话,每张卡片的称呼几乎都是"驾驶员编号8063的司机"、"给六十一路公车的好司机"……应该是受到感动的乘客主动寄到公共汽车站给他的。每一封短笺,都充满诚恳的感谢及祝福,像行之已久的"公车诗文"般动人。   顿时,我的内心变得十分柔软而温暖,为了这个城市里的善良而可爱的市民。原来,大家都受到感动了!而且,有那么许多人愿意主动表达感谢,克服心理上对于陌生人的羞怯,勇于向他道谢,给他肯定。   而他也大大方方接受了这些好意,还费了一番心思设计版面,将它们张贴出来。整个车厢除了干净之外,用彩带及布偶布置得十分雅致,每一个装置下车铃的位置都贴着彩色的纸鹤,加上奖状及卡片,充满了人情的温暖,以及要把生活过得很有意义的决心与活力。   像我这种乘客久久才搭一次他的车子,却能够在瞬间产生很正面的互动,不只和司机本人,还包括所有未曾谋面的其它善良的乘客。大家在上车、下车之间,将彼此的感谢与好意都留在车上,持续蔓延着幸福的喜......

阅读全文(1723) | 评论:0

其实(2006-02-17 03:09:00)

摘要:  有两个小学生,为了打羽毛球,把学校礼堂的一百多张长凳搬开,打完球再归位,同学都笑他们笨,后来他们却成了羽毛球国手。其实不怕麻烦,可以实现梦想。   有一个大型才艺比赛,主办单位打破多年惯例,赛前先发纪念品给小朋友,有人说:"主办单位有点笨,大家领了纪念品,闭幕典礼时就会很冷清。"结果闭幕时场面非常热闹。其实尊重,可以获得支持。   有一个人,去打篮球,常常输。队友说:"你为什么这么笨,都不抢球,能赢都不赢。"他答道:"我们在球场,受到这么多人的欢迎,他们多么喜欢跟我们打球。"其实输球,可以换来好人缘。   有一个人,带女朋友去看电影,路不熟,到了戏院,电影已散场。去吃饭,忘了带皮夹,只得对女朋友说:"能不能借我一点钱。"到女友府上拜访,迟到了半个多小时,原来摩托车没油了,他竟然气喘如牛的推着摩托车赶来。她还是嫁给了这位傻小子。其实真心,可以换真情。   有一个人,早上出门,后面车子煞车不及撞上来,对方急忙下车向他赔罪,他想:"一点小擦撞,大家都在赶时间,人没事就好!"回家后,发现保险杆已经摇摇欲坠。朋友说:"你真笨,应该抄下他的车号。"他说:"事情过去就算了。"过几天,他接到保险公司的理赔通知,原来对方早已记下他的车号。其实不计较,可以得到公平对待。   有个女孩,骑摩托车到大卖场买东西,结帐出来,看到一个人,鬼鬼祟祟的坐在摩托车上,东张西望,她没好气的说:"你坐在我车上做什么?"他哭笑不得的说:"小姐,我已经等你半小时了,你没事干嘛锁住我的车。"在婚礼上,人家问他:"你为什么娶她?"他说:"我喜欢她的迷糊。"其实迷糊,可以得到疼惜。   有一个人,常常托同事帮她买早点,她总是给30元,买一块她常吃的面包,有一天这位男同事休假,她自己跑去买面包才发现,她买的面包早已涨价成35元。从此以后,她都会多看他一眼,没多久,公司流传了一段佳话"五块钱买一个老婆。"其实吃亏,可以获得好感。   从小听到大的故事"龟兔赛跑",总是以为,现实生活里,绝对不会有人像兔子般,因为贪睡而输给乌龟。长大后渐渐发现"其实有成就的人,不是靠能力而是靠努力"。   有些人的成就,是你的十倍、百倍、千倍、万倍,但是他的能力却不一定是你的十倍、百倍、千倍、万倍。不是他比你聪明,而是他笨笨的,去做一些你所不愿去做的事。   在人生中,聪明的人,常常在最后,变笨了;而笨的人,却常常......

阅读全文(1926) | 评论:0

利用VB产生屏幕变暗的效果(2006-02-15 22:10:00)

摘要:想利用VB编程实现屏幕变暗的效果(向关闭Win95时的效果),只要按下面的步骤来做1、在Form1中加入两个CommandButton和一个PictureBox.2、在Form1的代码窗口中添加以下代码:Private Type RECTLeft As LongTop As LongRight As LongBottom As LongEnd TypePrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As LongPrivate Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As LongPrivate Declare Function PatBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As LongPrivate Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As LongPrivate Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As LongPrivate Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As LongPrivate Declare Function InvalidateRect Lib "user32......

阅读全文(2442) | 评论:0

如何用API及MMSYSTEM.DLL播放WAV文件(2006-02-15 22:09:00)

摘要:Declare Function sndPlaySound% Lib "MMSYSTEM.DLL" (ByVal lpszSoundName$, ByVal wFlags%)Global Const SND_SYNC = &H0000Global Const SND_ASYNC = &H0001Global Const SND_NODEFAULT = &H0002Global Const SND_LOOP = &H0008Global Const SND_NOSTOP = &H0010' Paramaters:' lpszSoundName$'  Specifies the name of the sound to play. The function first' searches the [sounds] section of the WIN.INI file for an entry' with the specified name, and plays the associated waveform sound' file. If no entry by this name exists, then it assumes the' specified name is the name of a waveform sound file. If this' parameter is NULL, any currently playing sound is stopped.' That is, use a 0& to provide a NULL value.' wFlags%'  Specifies options for playing the sound using one or more' of the following flags: ' SND_SYNC: The sound is played synchronously and the function' does not return until the sound ends.' SND_ASYNC: The sound is played asynchronously and the function' returns immediately af......

阅读全文(2868) | 评论:0

Tag属性的妙用(2006-02-15 22:07:00)

摘要:在VB编程中,我们经常要动态的控制很多不同控件的属性,例如我们要将一个CommandButton阵列共20各控件中的第1、4、6、7、8、11、18、20号删除。该怎么半呢?这时只要将要删除的控件的Tag属性设置为1,然后加入以下代码就可以了。For i=1 To 20If Command1(i).Tag=1 ThenUnload Command1(i)End IfNext i-----------------------------------------------------......

阅读全文(2805) | 评论:0

如何用API播放CD(2006-02-15 22:06:00)

摘要:Declare Function mciSendString& Lib "MMSYSTEM" (ByVal lpstrCommand$, ByVal lpstrReturnStr As Any, ByVal wReturnLen%, ByVal hCallBack%)'Add the code below to appropriate routinesSub cmdPlay_Click ()Dim lRet As LongDim nCurrentTrack As Integer'Open the devicelRet = mciSendString("open cdaudio alias cd wait", 0&, 0, 0)'Set the time format to Tracks (default is milliseconds)lRet = mciSendString("set cd time format tmsf", 0&, 0, 0)'Then to play from the beginninglRet = mciSendString("play cd", 0&, 0, 0)'Or to play from a specific track, say track 4nCurrentTrack = 4lRet = mciSendString("play cd from" & Str(nCurrentTrack), 0&, 0, 0)End Sub' Remember to Close the device when ending playbackSub cmdStop_Click ()Dim lRet As Long'Stop the playbacklRet = mciSendString("stop cd wait", 0&, 0, 0)DoEvents 'Let Windows process the event'Close the devicelRet = mciSendString("close cd", 0&, 0, 0)End Sub---------------------------------------------------......

阅读全文(2312) | 评论:0