类似QQ似的窗体弹出效果怎样做?货到付款!!

Sword_Light 2002-10-16 02:13:19
我想做这样一个程序,大家帮忙看看应该怎么做?
新建一工程,在Form1上放置一个ListView1控件,使ListView1充满整个Form1,就这些,要求是:程序以隐藏方式启动,启动后,鼠标指向屏幕的左上角,则弹Form1,此时,要求Form1的Left和Top都为0,鼠标移出Form1时,Form1立刻消失,又隐藏起来了。这多少有点象QQ的窗口,但不需要那种渐进渐出的动画效果,一定要灵敏,且不许用Timer控件

请给出完整的源码,谢谢!货到付款!
...全文
30 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
jllimin 2002-12-30
  • 打赏
  • 举报
回复
关注
大大怪老张 2002-12-09
  • 打赏
  • 举报
回复
关注
diamondex 2002-10-21
  • 打赏
  • 举报
回复

这个如何?

// ======== hook.dll ==============

#include <windows.h>

#pragma argsused


static HHOOK hhk;
static HINSTANCE HInst;
static HWND hwnd;


extern "C" __declspec(dllexport)
int __stdcall SetHook(bool install,HWND wnd);
LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam);

#define HookType WH_JOURNALRECORD


int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
HInst=hinst;

return 1;
}
//---------------------------------------------------------------------------
int __stdcall SetHook(bool install,HWND wnd)
{
if(install)
{
hhk=SetWindowsHookEx(HookType,(HOOKPROC)MouseProc,HInst,0);
hwnd=wnd;
return 1;
}
else
{
UnhookWindowsHookEx(hhk);
return 0;
}
}

LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if(nCode==HC_ACTION)
{
EVENTMSG * pmsg;
pmsg=(EVENTMSG*)lParam;
if(pmsg->message==WM_MOUSEMOVE)
PostMessage(hwnd,3000,pmsg->paramL,pmsg->paramH);

}
return (LRESULT CALLBACK)CallNextHookEx(hhk,nCode,wParam,lParam);


主程序中

BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(3000, TMessage, handleMsg)
END_MESSAGE_MAP(TForm)

void __fastcall TForm1::handleMsg(TMessage & msg)
{
int x,y;
x=msg.WParam;
y=msg.LParam;
if(x<4 && y<4){
Top=0;
Left=0;
Visible=true;
}

if(x>Width || y>Height)
Visible=false;


//TODO: Add your source code here
}



}
Sword_Light 2002-10-19
  • 打赏
  • 举报
回复
55555555555555555555555555
快来人啊!谁给我发一个用C++Builder写的全面一点的鼠标和键盘钩子程序。得到验证,就给分!
chenguohui 2002-10-19
  • 打赏
  • 举报
回复
今天上CSDN真快了不少.CSDN真是想群众之所想,急大家之所急,爽。与时俱进
Sword_Light 2002-10-19
  • 打赏
  • 举报
回复
nhconch(海风轻拂) :
哈哈哈,大哥,不要和我开玩笑了,帮帮我吧!谢谢了!
nhconch 2002-10-19
  • 打赏
  • 举报
回复
给分还是付款
Sword_Light 2002-10-19
  • 打赏
  • 举报
回复
快来人啊!谁给我发一个用C++Builder写的全面一点的鼠标和键盘钩子程序。得到验证,就给分!
hubao 2002-10-18
  • 打赏
  • 举报
回复
up
Sword_Light 2002-10-17
  • 打赏
  • 举报
回复
chnlog(飞鱼):
少说那些没用的,把符合要求的代码写出来,才是真格的!
chnlog 2002-10-17
  • 打赏
  • 举报
回复
这么简单的问题还用问吗,先说肯付多少钱吧

拦截WM_MOUSEENTER和WM_MOUSELEAVE消息当进入的时候将窗体动画变大,退出时动画成一条线大小.

如果还不懂,先付100元到我帐上,再问,OK?


Sword_Light 2002-10-17
  • 打赏
  • 举报
回复
论坛改版后,不仅界面漂亮了,而且速度也快了!呵呵,真好!!

昨天晚上,我看了一下,好像必须用鼠标钩子,但是,不知是我自己用的不对还是别的什么原因,钩子也并不灵敏!
麻烦哪位大哥,用C++Builder给我写一个鼠标钩子的Dll及其调用(要源码),谢谢!
凡是你的发言对我有帮助的,我都要给分!,不够,再开帖子加分! :)
Sword_Light 2002-10-16
  • 打赏
  • 举报
回复
unsigned(僵哥):
呵呵,老哥,你不要生气吗?我水平比较低,看不明白,你能否把你给我看的那段Delphi代码翻译成C++Builder代码,我可以另外给你加分! :)
僵哥 2002-10-16
  • 打赏
  • 举报
回复
那你是否够懒?
Sword_Light 2002-10-16
  • 打赏
  • 举报
回复
不要光说空话,我要完整的代码!!!我估计会的人大概也就需要几十行程序!!
diamondex 2002-10-16
  • 打赏
  • 举报
回复
用hook,WH_MOUSE,检测鼠标一到指定位置,向主窗口PostMessage
Sword_Light 2002-10-16
  • 打赏
  • 举报
回复
lingbin(林斌):
老哥,首先非常感谢你的参与,但你的解答不能令我满意!
说实在的,一看到在你的代码中有Sleep(10)这个函数,就可以肯定的说,不符合要求
lingbin 2002-10-16
  • 打赏
  • 举报
回复
HRGN hRgn;
int W = Width;
int H = Height;
for(int n=0;n<=40;n++)//窗体由右到左消失
{
hRgn = CreateRectRgn(0,0,W-W*n/40,H);
SetWindowRgn(Handle, hRgn, TRUE);
DeleteObject(hRgn);
Update();
Sleep(10);
}
试试看。
lingbin 2002-10-16
  • 打赏
  • 举报
回复
HRGN hRgn;
int W = Width;
int H = Height;
for(int n=0;n<=40;n++)//窗体由右到左消失
{
hRgn = CreateRectRgn(0,0,W-W*n/40,H);
SetWindowRgn(Handle, hRgn, TRUE);
DeleteObject(hRgn);
Update();
Sleep(10);
}
试试看。
Sword_Light 2002-10-16
  • 打赏
  • 举报
回复
我要源码,快呀!
加载更多回复(3)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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