社区
界面
帖子详情
一个窗口的两个子窗口的前后顺序反了,求助
yongziqd
2012-07-31 01:48:39
我在一个父窗口底下创建了两个子窗口,这两个子窗口有重叠部分.
后创建的子窗口反而被刚开始创建的子窗口覆盖了.
但是鼠标点覆盖部分,选中并移动的是后创建的那个窗口,也就是被覆盖的那个窗口.
不知道这是怎么回事,求助.
...全文
104
4
打赏
收藏
一个窗口的两个子窗口的前后顺序反了,求助
我在一个父窗口底下创建了两个子窗口,这两个子窗口有重叠部分. 后创建的子窗口反而被刚开始创建的子窗口覆盖了. 但是鼠标点覆盖部分,选中并移动的是后创建的那个窗口,也就是被覆盖的那个窗口. 不知道这是怎么回事,求助.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
向立天
2013-03-11
打赏
举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了
疑难问题汇总帖
并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面
界面版关于版主结帖工作的具体办法
yongziqd
2012-07-31
打赏
举报
回复
求高手关注,别沉了
yongziqd
2012-07-31
打赏
举报
回复
LRESULT WINAPI MainWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
static POINT mousedown;
static POINT mouseup;
switch( msg )
{
case WM_MOVE:
{
RECT rc;
::GetClientRect(hWnd,&rc);
InvalidateRect(hWnd,&rc,TRUE);
SendMessage(hWnd,WM_NCPAINT,1,0);
}
break;
case WM_RBUTTONDOWN:
{
HMENU hResourceMenu,hPopupMenu;
POINT mousePos;
RECT rcClient;
GetClientRect(hWnd,&rcClient);
mousePos.x=LOWORD(lParam);
mousePos.y=HIWORD(lParam);
if(!PtInRect(&rcClient,mousePos))
return FALSE;
HINSTANCE hInstance = (HINSTANCE) GetWindowLong( hWnd, GWL_HINSTANCE );
hResourceMenu=LoadMenuA(hInstance,"MYMENU1");
if(!hResourceMenu)
return FALSE;
hPopupMenu=GetSubMenu(hResourceMenu,0);
ClientToScreen(hWnd,&mousePos);
TrackPopupMenu(hPopupMenu,TPM_LEFTALIGN/TPM_RIGHTBUTTON,
mousePos.x,mousePos.y,0,hWnd,NULL);
DestroyMenu(hResourceMenu);
}
break;
case WM_LBUTTONDOWN:
{
mousedown.x = LOWORD(lParam);
mousedown.y = HIWORD(lParam);
//SetCapture(hWnd);
ReleaseCapture();
PostMessage(hWnd,WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0);
}
break;
case WM_LBUTTONUP:
{
RECT rect;
::GetClientRect(hWnd, &rect);
InvalidateRect(hWnd, &rect, TRUE);
}
break;
case WM_MOUSEMOVE:
{
POINT mousePos;
RECT rcClient;
GetClientRect(hWnd,&rcClient);
mousePos.x=LOWORD(lParam);
mousePos.y=HIWORD(lParam);
if(!PtInRect(&rcClient,mousePos))
return FALSE;
SetCursor(::LoadCursor(NULL, IDC_ARROW));
}
break;
case WM_COMMAND:
switch(wParam){
}
break;
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint (hWnd, &ps);
RECT rect;
::GetClientRect(hWnd,&rect);
SetBkMode(hdc, TRANSPARENT);
//设置窗口半透明
{
static HDC hBitmapDC;
static HBITMAP hBitmap;
static BLENDFUNCTION bf;
static int w=GetSystemMetrics(SM_CXSCREEN);
static int h=GetSystemMetrics(SM_CYSCREEN);
static HBRUSH hBrush = CreateSolidBrush(RGB(128,255,128));
hBitmapDC = CreateCompatibleDC(hdc);
hBitmap = CreateCompatibleBitmap(GetDC(GetParent(hWnd)),w,h);
SelectObject(hBitmapDC,hBitmap);
FillRect(hBitmapDC, &rect, hBrush);
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.AlphaFormat = 0;
bf.SourceConstantAlpha = 200;
AlphaBlend(hdc,0,0,w,h,hBitmapDC,0,0,w,h,bf);
DeleteObject(hBitmap);
::DeleteDC(hBitmapDC);
}
EndPaint (hWnd, &ps);
}
return 0;
case WM_DESTROY:
//PostQuitMessage( 0 );
PostMessage(hWnd, WM_CLOSE, 0, 0);
return 0;
}
return DefWindowProc( hWnd, msg, wParam, lParam );
}
以上是子窗口的响应函数
yongziqd
2012-07-31
打赏
举报
回复
HWND hWnd;
hWnd = CreateWindowEx(
WS_EX_TOOLWINDOW,
"VideoClient",
"", //NAME,
WS_CHILD|WS_THICKFRAME,//WS_CLIPSIBLINGS, //WS_OVERLAPPEDWINDOW, //WS_POPUP|WS_SYSMENU,
pos.left,
pos.top,
pos.right-pos.left,
pos.bottom-pos.top,
hParentWnd,
NULL,
GetInstance(),
NULL );
ShowWindow(hWnd, SW_SHOW);
UpdateWindow(hWnd);
SetWindowPos(hWnd, HWND_TOP, pos.left,
pos.top,
pos.right-pos.left,
pos.bottom-pos.top, SWP_SHOWWINDOW);
::SetFocus(hWnd);
以上是创建子窗口的代码
C#微软培训资料
第三章 编写第
一个
应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...
WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种
窗口
样式的理解
我是个喜欢瞎琢磨的人。尤其是这几天心情非常郁闷。于是开始琢磨了…….琢磨的问题就是WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种
窗口
样式的理解。...WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减
子
窗口
。
mfc笔记--摘录关于裁剪
窗口
区域的设置,WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解
声明,原文来源:... 1.
求助
MSDN 我的第一步当然是
求助
MSDN。在MSDN里面有详细的解释。...WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减
子
窗口
。 M...
springboot流浪宠物
求助
管理系统 计算机毕设源码55366
本文以springboot为开发技术,实现了
一个
流浪宠物
求助
管理系统。流浪宠物
求助
管理系统的主要使用者分为用户、管理员;管理员功能包括有:首页、轮播图、系统公告、资源管理(宠物百科、分类列表)系统用户(管理员、...
Flutter开发实战:妙用策略模式(Strategy Pa
题目考察的知识点:链表删除节点,删除掉链表中的重复节点题目解答方法的文字分析:删除链表采用通用的方法,设立
一个
伪头结点,设立双指针,如果当前值和前
一个
值相等了,referral_co。题目考察的知识点遍历链表...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章